Агрегация и состав отношений между классами - PullRequest
1 голос
/ 16 января 2012

Я рисую диаграмму классов для сценария ниже:

Флуоресцентный = основание, крышка, выключатель, проводной балласт, поворот, стартер, крепление.

Лампа накаливания = основание,крышка, выключатель, розетка.

Но, к сожалению, я иностранный студент, который не может понять, что это за штука на самом деле.

Я знаю, что должен нарисовать SuperClass - lamp и флуоресцентные лампы накаливания Inherit от лампы.Я также знаю, что отношения между Лампой и такими вещами (как основа, крышка, стартер и т. Д.) Должны быть агрегацией или композицией, потому что они являются частью Лампы.

Но я понятия не имею, с какой частью можно поделитьсядругие Лампы (агрегация), и какая часть может принадлежать только одной Лампе (композиции).

Ответы [ 2 ]

1 голос
/ 16 января 2012

Вы, кажется, немного смущены различием между агрегацией или составом. Если объекты имеют одинаковое время жизни , они составные (Автомобиль = Двигатель + Кузов). Если они имеют различную продолжительность жизни , могут быть законно добавлены или удалены, (Такси = Автомобиль + Водитель), они являются совокупными. Поэтому вам нужно подумать о сфере проблемной области, то есть, с какой точки зрения вы смотрите на это. Электрик против потребителя.

1 голос
/ 16 января 2012

Я думаю, что лампа специфична attributes like-cover,wiring socket,size etc. be a part of composition, а остальное, что является общим для всех ламп, должно быть в aggregation ex-wiring ballast,switch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...