Задача №3 – Класс “Разнородный контейнер” (MixedContainer)
Класс “Разнородный контейнер” (MixedContainer). Есть классы Ball (мяч), Container (контейнер), свойство contains (содержит), связывающее контейнеры с мячами и функциональное свойство hasColor, задающее цвет мяча. Нужно описать класс контейнеров, в котором содержатся минимум два мяча разных цветов.
При этом реализация цветов остается на ваше усмотрение – можно использовать класс Color или datatype (т.е. просто строки типа “red”, “green” и т.д.).
Эта задачка недавно рассматривалась в mailing list Pellet’a (просто с чуть другими именами классов). Эврен Сирин (главный разработчик Pellet) предложил очень красивый вариант решения, который мне захотелось обсудить. Его нетрудно найти, поэтому я не скрываю, но рекомендую сначала подумать самим. Ну и разумеется не лишать других такого удовольствия.
Оставить комментарий