我正在为下面的场景绘制一个类图:
荧光灯=灯座,灯座,开关,配线镇流器,扭曲,启动器,安装座。
白炽灯=底座,盖子,开关,接线插座。
但不幸的是,我是一名国际学生,无法弄清楚这些东西究竟是什么。
我知道我应该画一个SuperClass - lamp
,而荧光灯和荧光灯都是来自Lamp的白炽灯Inherit
。我也知道Lamp和东西(如底座,盖子和起动器等)之间的关系应该是聚合或组合,因为它们是灯的一部分。
但我不知道哪个部分可以与其他灯共享(聚合),哪个部分只能由一个灯(组合)拥有。
答案 0 :(得分:1)
我认为特定灯具attributes like-cover,wiring socket,size etc. be a part of composition
和其他所有灯具应该是aggregation ex-wiring ballast,switch
。
答案 1 :(得分:1)
您似乎对聚合或组合之间的区别感到有些困惑。如果对象具有相同的生存期,则它们是复合的(Car = Engine + Body)。如果他们有生命周期,可以合法地添加或删除(Taxi = Car + Driver),它们就是聚合。因此,您需要考虑问题域的范围,即您从哪个角度来看待这个问题。电工与消费者。