Одна из самых интересных задач пока. Для меня оказалась очень трудной. Понять, что нужно добавить в конструктор еще одного родителя и понаделать еще четыре объекта было не сложно. Сложно было придумать как задать условия в @override. Не скрою сам так и не придумал. Подсмотрел в обсуждениях и воспользовался советом внести null параметр при создании объектов "папа" и "мама". Но это все понятно, и доступно. Но вот чего я не понял до сих пор так это как работает @override. Да. даже выстроив там все условные операторы и получив корректный вывод с первого раза для меня осталось тайной почему, п о ч е м у он вообще запускается. "Он" - это кусок кода после @override. Комрадос, если кому не лень может объясните на пальцах...