java中的组合与聚合,区别。。。详细点
答案:3 悬赏:10 手机版
解决时间 2021-01-25 08:56
- 提问者网友:蔚蓝的太阳
- 2021-01-24 21:39
java中的组合与聚合,区别。。。详细点
最佳答案
- 五星知识达人网友:笑迎怀羞
- 2021-01-24 21:58
组成就是强聚合,比如班级和学生间的关系应该是聚合,学生和学号的关系就应该是组成
班级、学生都是有独立意义的对象,但是学号要是没有学生就没什么意义了
组成要求整体和组成部分共存亡,他们的生命期相同,谁也离不开谁。
图上的时候聚合貌似是空心的零菱形,组成是实心的。
班级、学生都是有独立意义的对象,但是学号要是没有学生就没什么意义了
组成要求整体和组成部分共存亡,他们的生命期相同,谁也离不开谁。
图上的时候聚合貌似是空心的零菱形,组成是实心的。
全部回答
- 1楼网友:梦中风几里
- 2021-01-24 23:44
聚合就是:表示两个对象之间是整体和部分的弱关系,部分的生命周期可以超越整体。如下:实例化Person,不一定要实例化Telephone。has a
public class Person{
private Telephone tel;
private Hand hand = new Hand();
.......
}
class Telephone{
......
}
组合:组合:表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体,或者说不能脱离整体而存在。组合关系的“部分”,是不能在整体之间进行共享的。如人和手的关系:人是整体,手是部分。is a 的关系 。手不能脱离人。
public class hand{
......
}
public class Person{
private Telephone tel;
private Hand hand = new Hand();
.......
}
class Telephone{
......
}
组合:组合:表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体,或者说不能脱离整体而存在。组合关系的“部分”,是不能在整体之间进行共享的。如人和手的关系:人是整体,手是部分。is a 的关系 。手不能脱离人。
public class hand{
......
}
- 2楼网友:雾月
- 2021-01-24 22:17
聚合是关联关系的一种特例,他体现的是整体与部分 拥有的关系,即has-a的关系,此时整体与部分之间是可以分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU,公司与员工的关系;
组合也是关联关系的一种特例,他体现的也是一种contain-a的关系,这种关系比聚合更强,也称为强聚合,他同样体现整体与部分件的关系,但此时整体与部分是不可分的,整体的声明周期结束也就意味着部分的声明周期结束;比如你和你的大脑;
UML图表示不一样
组合也是关联关系的一种特例,他体现的也是一种contain-a的关系,这种关系比聚合更强,也称为强聚合,他同样体现整体与部分件的关系,但此时整体与部分是不可分的,整体的声明周期结束也就意味着部分的声明周期结束;比如你和你的大脑;
UML图表示不一样
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯