UML图、聚合和组合的区别

1、UML图在这里插入图片描述

车的类图结构为<>,表示车是一个抽象类;
1、它有两个继承类:小汽车和自行车;它们之间的关系为实现关系,使用带空心箭头的虚线表示;
2、小汽车为与SUV之间也是继承关系,它们之间的关系为泛化关系,使用带空心箭头的实线表示;
3、小汽车与发动机之间是组合关系,使用带实心箭头的实线表示;
4、学生与班级之间是聚合关系,使用带空心箭头的实线表示;
5、学生与身份证之间为关联关系(代码中身份证就是学生的成员变量),使用一根实线表示;
6、学生上学需要用到自行车,与自行车是一种依赖关系,使用带箭头的虚线表示;

2、聚合和组合
  • 组合:部分与整体是与生俱来的,部份依赖于总体。比如说人的心脏和人,人一出生心脏也就有了,要是人死了那么心脏也就没有意义了(不要考虑死了捐献器官)。例子,B类被A类组合进去了,那么A类在创建对象的时候B类也一起被创建了。

  • 聚合:直接上例子,B类被A类聚合进去了,那么创建A类的时候,B类就不会马上就被创建出来。当需要使用的时候将B类set进去。

总结:通过现在的类组合一个新的类,这就叫组合,如果这种组合是动态的那么就是聚合。什么是动态呢?就是说我后面能够通过set方法把被聚合的类传进去,可以多态的传。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值