问题来自Java技术沙龙的李博
Java线下沙龙报名链接:https://yq.aliyun.com/activity/796
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在一个具体的java类定义里,类由多个属性构成,同是这样的形式,确实会有组合、聚合、关联的不同“叫法”,其区别主要是:
类A里的属性有个类B,那就是关联了;
A对B是has-a的情况是聚合,比如电脑里有CPU;
A对B是contains-a的情况是组合,比如人有大脑;
聚合的差别是电脑坏了、CPU可以单独拿出来再用,而组合的情况人没了大脑也就没了、一起挂;