2075 / C# / Класи / Абстрактний клас vs інтерфейс
| Абстрактний клас
Приховує непотрібні деталі |
Інтерфейс
Інтерфейс взаємодії між класами |
abstract class BaseFigure { public abstract float Perimeter (); public abstract float Area (); } |
interface IFigure { float Perimeter (); float Area (); } |
public, private, protected |
public
|
| Дозволяється реалізація методів | Без реалізації методів |
| Швидший | Повільніший |
| Не можна створювати об'єкт | Не можна створювати об'єкт |
| Може містити змінні, константи та статичні змінні |
Не може мати змінних |
| Можна додавати властивості | Можна додавати властивості |
| Методи можуть бути і не абстрактними | Усі методи абстрактні |
| Може мати конструктор | Не може мати конструктор |
