Kniga-Online.club
» » » » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Читать бесплатно Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Кроме того, класс Car имеет несколько свойств для представления текущей скорости и указанного пользователем "дружественного названия" автомобиля, а также различные конструкторы для установки состояния нового объекта Car. Ниже приведено полное определение Car вместе с поясняющими комментариями.

using System;

namespace SimpleException

{

  class Car

  {

    // Константа для представления максимальной скорости.

    public const int MaxSpeed = 100;

    // Свойства автомобиля.

    public int CurrentSpeed {get; set;} = 0;

    public string PetName {get; set;} = "";

    // He вышел ли автомобиль из строя?

    private bool _carIsDead;

    // В автомобиле имеется радиоприемник.

    private readonly Radio _theMusicBox = new Radio();

    // Конструкторы.

    public Car() {}

    public Car(string name, int speed)

    {

      CurrentSpeed = speed;

      PetName = name;

    }

    public void CrankTunes(bool state)

    {

      // Делегировать запрос внутреннему объекту.

      _theMusicBox.TurnOn(state);

    }

    // Проверить, не перегрелся ли автомобиль.

    public void Accelerate(int delta)

    {

      if (_carIsDead)

      {

        Console.WriteLine("{0} is out of order...", PetName);

      }

      else

      {

        CurrentSpeed += delta;

        if (CurrentSpeed > MaxSpeed)

        {

          Console.WriteLine("{0} has overheated!", PetName);

          CurrentSpeed = 0;

          _carIsDead = true;

        }

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

        else

        {

          Console.WriteLine("=> CurrentSpeed = {0}",

            CurrentSpeed);

        }

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

      }

    }

  }

}

Обновите код в файле Program.cs, чтобы заставить объект Car превышать заранее заданную максимальную скорость (установленную в 100 внутри класса Car):

using System;

using System.Collections;

using SimpleException;

Console.WriteLine("***** Simple Exception Example *****");

Console.WriteLine("=> Creating a car and stepping on it!");

Car myCar = new Car("Zippy", 20);

myCar.CrankTunes(true);

for (int i = 0; i < 10; i++)

{

  myCar.Accelerate(10);

}

Console.ReadLine();

В результате запуска кода будет получен следующий вывод:

***** Simple Exception Example *****

=> Creating a car and stepping on it!

Jamming...

=> CurrentSpeed = 30

=> CurrentSpeed = 40

=> CurrentSpeed = 50

=> CurrentSpeed = 60

=> CurrentSpeed = 70

=> CurrentSpeed = 80

=> CurrentSpeed = 90

=> CurrentSpeed = 100

Zippy has overheated!

Zippy is out of order...

Генерация общего исключения

Теперь, имея функциональный класс Car, давайте рассмотрим простейший способ генерации исключения. Текущая реализация метода Accelerate() просто отображает сообщение об ошибке, если вызывающий код пытается разогнать автомобиль до скорости, превышающей верхний предел.

Чтобы модернизировать метод Accelerate() для генерации исключения, когда пользователь пытается разогнать автомобиль до скорости, которая превышает установленный предел, потребуется создать и сконфигурировать новый экземпляр класса System.Exception, установив значение доступного только для чтения свойства Message через конструктор класса. Для отправки объекта ошибки обратно вызывающему коду применяется ключевое слово throw языка С#. Ниже приведен обновленный код метода Accelerate():

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Язык программирования C#9 и платформа .NET5 отзывы

Отзывы читателей о книге Язык программирования C#9 и платформа .NET5, автор: Троелсен Эндрю. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*