Помогите решить задачу

  • Автор темы Автор темы kleon1
  • Дата начала Дата начала

kleon1

Новичок
Добрый день

Решаю тесты. И наткнулся на такую задачу
http://puzzleua.com/z.png - Линк на диаграму

z.png

Define the Vehicle interface with an abstract ‘addLuggage’ function that takes a Container as argument.

Define the Car class that initialises an array of luggage upon instantiation.

Define the Sports class with an implementation of the ‘addLuggage’ function that throws an exception if a Suitcase is passed as argument.


Очень нужно. Разобраться
 

Спасибо за ответ но всеравно не могу разобраться.

Как правильно это прописать

Interface vehicle {
Abstract function addLuggage ($Container);
}
Class car implements vehicle {
Function addLuggage ($Container) {
}
}

Как дальше тут дописать исключение и имплантацию затрудняюсь
 
В интерфейсе незачем обьявлять методы абстрактными. А в классе car, метод, как раз будет абстрактным тк его имплементируем следующим наследником. Container это тоже класс, как и все остальные квадратики на твоей диаграмме. В методе Sports::addLuggage будет проверка на тип контейнера. Ну и самого главного не хватает а где оператор new?
 
Sports::addLuggage() будет нарушать LSP тащемта, а требуемый instanceof — DIP. Люблю такие задачи.
 
Сверху