加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

组合与聚合的选用 (Composition & Aggregation)

发布时间:2020-12-13 20:18:23 所属栏目:百科 来源:网络整理
导读:看到不少朋友讨论组合与聚合的异同,我觉得有两个要点决定了组合与聚合的选用: 共享性 组合中各个子件是被宿主独占使用,实例间不存在共享同一个子件。 聚合中各个子件可以由不同的实例共享使用。 生命周期 组合中宿主负责创建和释放其子件。 聚合中宿主不需

看到不少朋友讨论组合与聚合的异同,我觉得有两个要点决定了组合与聚合的选用:

共享性 组合中各个子件是被宿主独占使用,实例间不存在共享同一个子件。
聚合中各个子件可以由不同的实例共享使用。
生命周期 组合中宿主负责创建和释放其子件。
聚合中宿主不需要负责创建和释放其子件,只有使用权。

下图是一个组合的类图示例:

选择使用组合或是聚合,取决实际应用中的类之间的关系。同样以电脑为例,对于电脑制造商而言,它与子件间就是聚合关系,因为各种元件是可以共同的,并且电脑损坏时,其中的元件仍然是可以使用的。而如果对于购买了电脑的用户而言,当电脑损坏时,整台电脑会被处理掉,这时就是组合关系。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读