Задача №3 — Класс “Разнородный контейнер” (MixedContainer)

Класс “Разнородный контейнер” (MixedContainer). Есть классы Ball (мяч), Container (контейнер), свойство contains (содержит), связывающее контейнеры с мячами и функциональное свойство hasColor, задающее цвет мяча. Нужно описать класс контейнеров, в котором содержатся минимум два мяча разных цветов.

При этом реализация цветов остается на ваше усмотрение – можно использовать класс Color или datatype (т.е. просто строки типа “red”, “green” и т.д.).

Эта задачка недавно рассматривалась в mailing list Pellet’a (просто с чуть другими именами классов). Эврен Сирин (главный разработчик Pellet) предложил очень красивый вариант решения, который мне захотелось обсудить. Его нетрудно найти, поэтому я не скрываю, но рекомендую сначала подумать самим. Ну и разумеется не лишать других такого удовольствия.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Ответить с помощью ВКонтакте: