Протокол определяет набор требований к типу (методы, свойства, инициализаторы), но не предоставляет их реализации. Класс может реализовывать один или несколько протоколов.
Абстрактный класс (в Swift это эмулируется через классы с нереализованными методами или через протоколы) представляет собой базовый класс, от которого наследуются другие классы. Он может содержать как абстрактные (нереализованные), так и реализованные методы и свойства.
Отличия:
| Признак | Протокол | Абстрактный класс (эмуляция в Swift) | |----------------|-------
Протокол определяет набор требований к типу (методы, свойства, инициализаторы), но не предоставляет их реализации. Класс может реализовывать один или несколько протоколов.
Абстрактный класс (в Swift это эмулируется через классы с нереализованными методами или через протоколы) представляет собой базовый класс, от которого наследуются другие классы. Он может содержать как абстрактные (нереализованные), так и реализованные методы и свойства.
Отличия:
| Признак | Протокол | Абстрактный класс (эмуляция в Swift) | |----------------|-------
Register or sign in to get access to full answers for all questions from the question bank.