【问题标题】:Aggregation and composition relationships between classes类之间的聚合和组合关系
【发布时间】:2012-01-16 20:32:27
【问题描述】:

我正在为下面的场景绘制一个类图:

荧光灯 = 底座、盖板、开关、接线镇流器、扭曲、启动器、安装。

白炽灯 = 底座、盖子、开关、接线插座。

但不幸的是,我是一名国际学生,无法弄清楚这些东西到底是什么。

我知道我应该从 Lamp 上画一个 SuperClass - lamp 和荧光灯和白炽灯 Inherit。我也知道Lamp和东西(如base,cover和starter等)之间的关系应该是聚合或组合,因为它们是Lamp的一部分。

但我不知道哪一部分可以与其他 Lamps 共享(聚合),哪一部分只能由一个 Lamp 拥有(组合)。

【问题讨论】:

    标签: c# java c++ c uml


    【解决方案1】:

    我认为特定于灯的attributes like-cover,wiring socket,size etc. be a part of composition 和其余的是所有灯共有的应该在aggregation ex-wiring ballast,switch 中。

    【讨论】:

    • 你能告诉我你第一句话中“size”是什么意思吗? @Vivek
    【解决方案2】:

    您似乎对聚合或组合之间的区别有些困惑。如果对象具有相同的生命周期,则它们是复合的(汽车 = 引擎+车身)。如果它们有不同的生命周期,可以合法地添加或删除,(Taxi = Car + Driver)它们是聚合体。因此,您需要考虑问题域的范围,即您从谁的角度看待这个问题。电工与消费者。

    【讨论】:

    • @MartinSpamer。谢谢你的提醒,其实,真正让我困惑的是我不知道这些东西是什么,如果它们可以翻译成我的国家的语言,我可以弄清楚关系。你能告诉我这些零件中的哪些可以用于其他灯,而不是只能用于一个灯吗?
    • 我想一个更直接的帮助我弄清楚的方法是问:从使用灯的人的角度来看,这些部件中的哪些是可以更换的? @MartinSpamer
    • 除了那些显而易见的,开关,电线等,我对电气术语无能为力,尝试用谷歌搜索电气术语表。
    • 是的,谁使用抽象,灯模型。英语是我的第一语言,我也不知道其中大部分是什么。作为设计师,我们面临的挑战之一是学习问题领域的语言,无论是会计、零售还是电工。
    • 好的,我会问你可能很高兴被问到的问题。除了LAMP 概括关系以及电气元件之间的聚集组成关联,灯。作为设计师,还应该注意哪些层级关系? @MartinSpamer
    猜你喜欢
    • 2010-10-30
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    相关资源
    最近更新 更多