Абстрактний клас - це той, який призначений лише бути базовим класом інших класів. "Абстрактний" модифікатор використовується для створення абстрактного класу. Абстрактний модифікатор вказує на те, що існує якась відсутня реалізація, яку потрібно реалізувати в похідному від неї класі. Абстрактний клас може мати абстрактні та не абстрактні члени. Абстрактний клас повинен мати принаймні один абстрактний метод, інакше немає потреби оголошувати цей клас "абстрактним".
Приклад абстрактного класу в C #:
Як показано у наведеному вище прикладі, абстрактний метод 'Площа' всередині класу MyCircle перевизначається у похідному класі MyArea.
Інтерфейс містить лише декларацію членів, включаючи методи, властивості, події або індексатори. Він не містить реалізації цих членів. Клас або структура, що реалізує інтерфейс, повинна надати визначення методів, оголошених в інтерфейсі. Це означає, що інтерфейс забезпечує стандартну структуру, якій повинен керуватися похідний клас.
Приклад інтерфейсу в C #:
Як показано у наведеному вище прикладі, інтерфейс MyData має два способи декларації getdata () та showdata (). Клас NameData, який реалізує цей інтерфейс, повинен дати визначення методів, оголошених в інтерфейсі MyData.