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

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

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

После создания проекта и решения вы можете открыть его в Visual Studio (или Visual Studio Code), чтобы приступить к построению классов. Открыв решение, удалите автоматически сгенерированный файл Class1.cs. Проектное решение библиотеки для работы с автомобилями начинается с создания перечислений EngineStateEnum и MusicMediaEnum. Добавьте в проект два файла с именами MusicMediaEnum.cs и EngineStateEnum.cs и поместите в них следующий код:

// MusicMediaEnum.cs

namespace CarLibrary

{

    // Тип музыкального проигрывателя, установленный в данном автомобиле.

    public enum MusicMediaEnum

    {

        MusicCd,

        MusicTape,

        MusicRadio,

        MusicMp3

    }

}

// EngineStateEnum.cs

namespace CarLibrary

{

    // Представляет состояние двигателя.

    public enum EngineStateEnum

    {

        EngineAlive,

        EngineDead

    }

}

Далее создайте абстрактный базовый класс по имени Car, который определяет разнообразные данные состояния через синтаксис автоматических свойств. Класс Car также имеет единственный абстрактный метод TurboBoost(), в котором применяется специальное перечисление (EngineState), представляющее текущее состояние двигателя автомобиля. Вставьте в проект новый файл класса C# по имени Car.cs со следующим кодом:

namespace CarLibrary

{

  // Абстрактный базовый класс в иерархии.

  public abstract class Car

  {

    public string PetName {get; set;}

    public int CurrentSpeed {get; set;}

    public int MaxSpeed {get; set;}

    protected EngineStateEnum State = EngineStateEnum.EngineAlive;

    public EngineStateEnum EngineState => State;

    public abstract void TurboBoost();

    protected Car(){}

    protected Car(string name, int maxSpeed, int currentSpeed)

    {

      PetName = name;

      MaxSpeed = maxSpeed;

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

      CurrentSpeed = currentSpeed;

    }

  }

}

Теперь предположим, что есть два непосредственных потомка класса Car с именами MiniVan (минивэн) и SportsCar (спортивный автомобиль). В каждом из них абстрактный метод TurboBoost() переопределяется для отображения подходящего сообщения в окне консоли. Вставьте в проект два новых файла классов C# с именами MiniVan.cs и SportsCar.cs. Поместите в них показанный ниже код:

// SportsCar.cs

using System;

namespace CarLibrary

{

  public class SportsCar : Car

  {

    public SportsCar(){ }

    public SportsCar(

      string name, int maxSpeed, int currentSpeed)

      : base (name, maxSpeed, currentSpeed){ }

    public override void TurboBoost()

    {

      Console.WriteLine("Ramming speed! Faster is better...");

    }

  }

}

// MiniVan.cs

using System;

namespace CarLibrary

{

  public class MiniVan : Car

  {

    public MiniVan(){ }

    public MiniVan(

      string name, int maxSpeed, int currentSpeed)

      : base (name, maxSpeed, currentSpeed){ }

    public override void TurboBoost()

    {

      // Минивэны имеют плохие возможности ускорения!

      State = EngineStateEnum.EngineDead;

      Console.WriteLine("Eek! Your engine block exploded!");

    }

  }

}

Исследование манифеста

Перед использованием CarLibrary.dll в клиентском приложении давайте посмотрим, как библиотека кода устроена внутри. Предполагая, что проект был скомпилирован, запустите утилиту ildasm.exe со скомпилированной сборкой. Если у вас нет утилиты ildasm.exe (описанной ранее в книге), то она также находится в каталоге для настоящей главы внутри хранилища GitHub.

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

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

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


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

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


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

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

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


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