Почему именно такое отношение между классами ( Trip has Airplane)?
Да все эти задания "на ООП" c высосанными из пальца иерархиями наследования, как ты выразился, "конченные". Не задумывайся, нет там логики, автор никогда не писал реальный код.
Очевидно, тут имеется в виду жизнь аэропорта в динамике. То есть не заполнить его данными и замолкнуть, а вести вылеты-прилёты, сажать пассажиров в самолёты и т.д.
Trip — это маршрут, и в одном самолёте могут ехать несколько маршрутов (например, с посадками, или рейс вообще чартерный и несколько турагентств заполняют самолёт).