Да, интерфейсы имеют смысл в данном случае, так как они представляют абстрактные воздушные, например, или водные транспорты. Вследствие этого в воображаемом проекте, где использовалась бы ваша иерархия классов, можно было бы работать с интерфейсом AirTransport, к примеру, не зная с самого начала, какая именно реализация воздушного транспорта окажется под капотом. То есть можно было бы помещать разные объекты, реализующие интерфейс AirTransport, прямо во время выполнения программы.
Это называется полиморфизмом - один из китов ООП, о которых можно почитать
здесь . Работаем одними и теми же способами с разными объектами.
Сделал абстрактный класс Transport от которого наследуется весь транспорт.
Затем сделал классы самолетов, машин, кораблей и.т.д. в каждом пакете. Почему я сделал именно так:
Мне показалось, что если интерфейсы и пакеты поменять местами - будет неудобно т.к. вертолет может быть как военным, так и частным. И так со всем. Но в моем варианте меня смущают интерфейсы. Есть ли от них вообще смысл, в этом варианте?
Я запутался. Подскажите как лучше сделать( Заранее всем спасибо.
Ответы GPT прошу не присылать. Мне интересный ответы людей, а не GPT.