У меня есть List<Task> tasksToDo
, который содержит много разных объектов. Некоторые из них не являются объектами Task
, но TimingTask
объектов, которые являются унаследованными от класса Task
. Мой вопрос заключается в том, что, когда я пытаюсь перебрать этот список, используя следующий:Iterate over Список унаследованных объектов класса
for(Task theTask: tasksToDo)
{
}
Как я могу использовать те методы, которые есть внутри TimingTask
объекта, если объект этого типа? Тип объекта TimingTask
имеет метод, называемый getAdd
, который присутствует только в этом типе. Поэтому, когда я пытаюсь с theTask.getAdd
, я получаю сообщение об ошибке, поскольку метод getAdd
отсутствует в классе класса Task
.
Если вы хотите обработать 'Task' объекты, такие как' TimingTask' объекты, перемещение '' getAdd' в Task'. – Smutje
Я согласен с @Smutje. См. Http://en.wikipedia.org/wiki/Liskov_substitution_principle – Elist