У чым розніца паміж абстрактнымі метадамі і інтэрфейсамі?


адказ 1:

Пачнем з абстрактных метадаў і абстрактных заняткаў:

Звычайна для пачаткоўцаў рэферат - гэта ключавое слова, якое выкарыстоўваецца перад метадамі і заняткамі.

Мы аб'яўляем метады ў класе абстрактнымі, таму што мы хочам, каб гэты метад выконваў розныя заданні на аснове розных аб'ектаў. і метады, абвешчаныя абстрактнымі, не павінны мець цела метадаў. Калі метад абстрактны, клас павінен быць абвешчаны абстрактным класам.

Вызначэнне абстрактнага класа: Клас павінен быць абстрактным, калі гэты клас утрымлівае 0 або больш абстрактных метадаў. Арганізацыя (рэалізацыя гэтых метадаў) можа быць прызначана гэтым менш абстрактным метадам у падкласах. Абстрактны клас можа змяшчаць канкрэтныя метады, а таксама абстрактныя метады і зменныя асобнікі.

Def інтэрфейс:

Інтэрфейсы ўтрымліваюць публічныя абстрактныя метады і адкрытыя статычныя канчатковыя зменныя (канстанты). Па змаўчанні ўсе метады ў інтэрфейсах з'яўляюцца публічна абстрактнымі, а канкрэтных метадаў, такіх як абстрактныя класы, няма. Таму ўсе метады павінны быць рэалізаваны ў інтэрфейсах падкласаў.

Розніца паміж абстрактным класам і інтэрфейсам:

Вам патрэбен клас Анатацыя, калі для ўсіх аб'ектаў павінны быць даступныя агульныя функцыі (метады экзэмпляра), а вам патрэбныя інтэрфейсы, калі вам патрэбна кожная функцыя (абстрактныя метады), якія патрабуюць розных рэалізацый у залежнасці ад розных аб'ектаў.

Спадзяюся, што гэта дапамагае.