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