Лабораторно упражнение 6

Абстрактни класове и интерфейси

Абстракцията е процес, при който се показва само „подходящи“ данни и се „скриват“ ненужни детайли за обекта от потребителя (програмиста който ползва абстракцията).

Тъй като абстрактният клас позволява конкретна имплементация на методи, той не осигурява 100% абстракция. Той осигурява частична абстракция.

Интерфейсите от друга страна се използват за 100% абстракция.

Абстрактен класИнтерфейс

Един абстрактен клас може да разшири само един клас или един абстрактен клас в даден момент

Един интерфейс може да разшири произволен брой интерфейси наведнъж

Един абстрактен клас може да разшири друг конкретен (редовен) клас или абстрактен клас

Един интерфейс може само да разшири друг интерфейс

Абстрактният клас може да има както абстрактни, така и конкретни методи

Интерфейсът може да има само абстрактни методи

В абстрактния клас ключова дума „abstract“ е задължителна за деклариране на метод като абстракт

В интерфейса ключова дума „абстрактно“ е по избор за деклариране на метод като абстракт

Един абстрактен клас може да има защитени и публични абстрактни методи

Интерфейсът може да има само публични абстрактни методи

Един абстрактен клас може да има static, final или static final променлива с всеки спецификатор за достъп

интерфейсът може да има само public static final (константна) променлива

Last updated