Абстрактные классы – описание проблемы
Пусть структура проекта выглядит следующим образом:
21
Абстрактные классы – описание проблемы
22
Абстрактные классы – описание проблемы
23
Абстрактные классы – решение
Абстрактный класс служит моделью для других классов,
в которой реализация методов не выполняется.
Предполагается, что такая реализация будет выполнена
в наследниках абстрактного класса.
24
Абстрактные классы – решение
Декларация класса Vehicle:с
Класс Truck должен содержать реализацию абстрактных методов:
25
Абстрактные классы – решение
Аналогично – для класса RiverBarge:
26
Интерфейсы
•По сути «интерфейс» (с точки зрения ООП) – это договор (контракт) между клиентским кодом и классом на реализацию заявленных функций.
•Интерфейс с точки зрения Java – это формальное описание такого договора, причем все методы этого описания не содержат реализации.
•Множество несвязанных классов могут реализовывать один и тот же интерфейс
•Класс может реализовывать множество несвязанных интерфейсов.
•Синтаксис интерфейсов в Java имеет следующий вид:
27
Интерфейсы
28
Интерфейсы
29
Интерфейсы
30