В цій статті
Модифікатор abstract вказує, що змінний елемент має відсутню або неповну реалізацію. Модифікатор abstract можна використовувати з класами, методами, властивостями, індексаторами і подіями. Модифікатор abstract у визначенні класу дозволяє вказати, що клас може бути тільки базовим класом для інших класів. Члени, помічені як абстрактні або включені в абстрактний клас, повинні бути реалізовані класами, похідними від абстрактного класу.
У цьому прикладі клас Square повинен забезпечувати реалізацію Area. оскільки є похідним від класу ShapesClass.
Абстрактні класи надають такі можливості:
Створювати екземпляри абстрактного класу не можна.
Абстрактний клас може містити абстрактні методи і методи доступу.
Змінити абстрактний клас з модифікатором sealed не можна, оскільки два цих модифікатора мають взаємовиключні значення. Модифікатор sealed забороняє успадкування класу, в той час як модифікатор abstract вказує, що клас повинен мати похідні класи.
Неабстрактне клас, похідний від абстрактного класу, повинен включати фактичні реалізації всіх успадкованих абстрактних методів і методів доступу.
Абстрактні методи надають такі можливості:
Абстрактний метод неявно є віртуальний метод.
Реалізація надається методом перевизначення override. який є членом неабстрактне класу.
Використання модифікатора abstract в статичному властивості є неприпустимим.
Абстрактний клас повинен надавати реалізацію для всіх членів інтерфейсу.
Абстрактний клас, який реалізує інтерфейс, може зіставляти методи інтерфейсу з абстрактними методами. приклад:
У наступному прикладі клас DerivedClass є похідним від абстрактного класу BaseClass. Абстрактний клас містить абстрактний метод, AbstractMethod. і два абстрактних властивості, X і Y.
У попередньому прикладі при спробі створити екземпляр абстрактного класу за допомогою оператора виду:
видається повідомлення про помилку, яке вказує, що компілятор не може створити екземпляр абстрактного класу BaseClass.
Специфікація мови C #
Додаткові відомості див. У специфікації мови C #. Специфікація мови є розпорядчим джерелом інформації про синтаксис і використанні мови C #.