Проект, демонстрирующий концепции наследования классов и реализации интерфейсов в Kotlin на примере рыцарской тематики.
- Наследование (Inheritance) - Создание иерархии классов
- Интерфейсы (Interfaces) - Определение контрактов
- Полиморфизм (Polymorphism) - Переопределение методов
- Инкапсуляция (Encapsulation) - Сокрытие реализации
BaseClass (родительский класс) ├── Secondary (наследник) ├── Tertiary (наследник) └── Offspring (наследник Secondary + реализует интерфейсы) ├── implements Archery (интерфейс) └── implements Singer (интерфейс)
- Методы интерфейсов:
- Сначала выполняется реализация по умолчанию из интерфейса
- Затем выполняется переопределение в классе Offspring
- Наследование классов:
- role() вызывается из Secondary (переопределенный)
- coreValues() вызывается из BaseClass (непереопределенный)
- Полиморфизм:
- Объект Offspring может использовать методы:
- Собственного класса
- Родительского класса (Secondary)
- Базового класса (BaseClass)
- Интерфейсов (Archery, Singer)