damporadu.ru

Чим відрізняється абстрактний клас від інтерфейсу?

У програмуванні використовуються поняття абстрактного класу і інтерфейсу. В чому полягають їх особливості? Чим відрізняється абстрактний клас від інтерфейсу?

Зміст статті

Відео: Інтерфейси і абстрактні класи

У чому специфіка абстрактного класу в програмуванні?

У числі основних ознак абстрактного класу - наявність реалізації. При цьому в ньому може бути присутнім один або кілька її методів. В абстрактному класі є властивості, що мають модифікатори доступу. Крім того, розглянута категорія даних передбачає:

  1. застосування методу extend;
  2. опис конструктора;
  3. використання різних типів даних - зокрема, статичних, або ж констант;
  4. незалежність реалізації успадкованого абстрактного класу від батьківського.

Що таке інтерфейс?



інтерфейс, в свою чергу, не містить реалізації. У ньому присутній опис в чистому вигляді - як сукупність методів, що підлягають реалізації в конкретному класі, за допомогою якого здійснюється імплементація того чи іншого інтерфейсу.

Відео: Абстрактний клас vs Інтерфейс

Вже згадана категорія даних також передбачає:

Відео: Java # 17 - абстрактні класи, інтерфейси, поліморфізм

  1. наявність тільки тих констант, які класифікуються як загальнодоступні;
  2. застосування методу implement;
  3. відтворення всіх методів інтерфейсу в процесі його реалізації.

Відзначимо, що в інтерфейсі не провадиться опис конструктора.

чим відрізняється абстрактний клас від інтерфейсу

Різниця між абстрактним класом і інтерфейсом

Очевидно, що є не одне відміну абстрактного класу від інтерфейсу. Різниця між ними простежується в самих різних аспектах. Найбільш наочно їх можна побачити при зіставленні абстрактного класу і інтерфейсу за такими основними критеріями:

  • спадкування;
  • реалізація;
  • використання конструктора.

Відобразити те, в чому різниця між абстрактним класом і інтерфейсом простежується в співвіднесенні з зазначеними критеріями, нам допоможе невелика таблиця.

Порівняльна таблиця

абстрактний класінтерфейс
Тільки один абстрактний клас успадковується іншим класомКілька інтерфейсів може бути реалізовано будь-яким класом
Допускає реалізацію методівПередбачає виключно опис методів
Допускає створення конструктораЧи не передбачає створення конструкторів

Поділитися в соц мережах:

Увага, тільки СЬОГОДНІ!
Схожі
» » Чим відрізняється абстрактний клас від інтерфейсу?