Ключевые слова C#. abstract

Модификатор abstract указывает, что реализация сущности с данным модификатором является неполной или отсутствует.Модификатор abstract может использоваться с классами, методами, свойствами, индексаторами и событиями.

Модификатор abstract в названии класса означает, что класс предназначен только для использования в качестве базового класса для других классов. Члены, помеченные как абстрактные или включенные в абстрактный класс, должны быть реализованы с помощью классов, производных от абстрактных классов. Методы абстрактного класса не должны содержать описания, только название и тип возвращаемых данных или указывать, что метод не возвращает данных.

Нельзя:

  • Нельзя создавать экземпляры абстрактного класса;
  • Abstractметоды не могут быть privateили virtual;
  • Нельзя создавать экземпляры абстрактного класса;
  • Абстрактный класс не может быть sealed, поскольку он запрещает наследование класса;

Можно:

  • Абстрактные классы могут содержать абстрактные методы и методы доступа;
  • Неабстрактный класс, являющийся производным от абстрактного, должен содержать все реализации наследуемых методов и методов доступа.
  • Абстрактные методы можно объявить только в абстрактных классах
  • Абстрактный метод является неявным виртуальным методом.

Абстрактные методы реализуются через ключевое слово override в наследуемом классе.

    abstract class Car
    {
        abstract public void drive();
        abstract public int Wheels { get; set; }
    }

    class Opel : Car
    {
        int _wheels;
        public override int Wheels
        {
            get
            {
              return _wheels ;
            }
            set {
                _wheels = value;
            }
        }

        public override void drive()
        {
            Console.WriteLine(_wheels);
        }
    }

 


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment






MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика