搜索出来的说法也不一
不要用文字或者实例来解释 用代码表示
比如
class A{
}class B{
A a=new A();
}class C extends A{
}class D{
class E{
}
}
或者其他形式
不要用文字或者实例来解释 用代码表示
比如
class A{
}class B{
A a=new A();
}class C extends A{
}class D{
class E{
}
}
或者其他形式
解决方案 »
- 关于抽象类的问题
- 请教:在Java中使用多线程既继承Thread又实现Runnable会出错吗?
- 下弟在此求教一个小问题!
- 请教各位大侠,泛型数组如何定义和使用,我的定义方法有什么不对?
- 约瑟夫环(java)算法,一直困扰着我们,我们是不是应该把他解决掉呢?
- 请帮帮我吧,在Eclipse下开发applet遇到的问题
- applet每次都要下载一遍,太慢了
- java的安装过程
- how can I get com.bruceeckel.util.*;
- 在JAVA的APPLET中如何访问SYBASE数据库,并从数据库取出数据,请写详细代码,给分30
- 谁能告诉我,用java解析Excel时,环境怎么配置
- jdk1.5或则1.6安装文件。
B b = new B();
C c = new C();}聚集和组成在代码上就是上面的形式。 聚集和组成在类的定义上是相同的形式,不过两者的语意不同。对于聚集关系。部分类对象(b,c)不能单独存在。
它的生命周期依赖于整体类的生命周期 象:人和手 就是聚集关系 因为手脱离了人体就失去了意义。
对于组成关系,可以允许每个类
的对象单独存在:如: 雇主 和雇员 。雇员离开了这个雇主还可以去找其他雇主。代码真的就是那么简单
希望你能理解。
class D
{
public D()
{
A a = new A();
B b = new B();
C c = new C();
}
public void doSTH()
{
}
}
要把聚集和组成分开阿人和手 就是聚集关系 因为手脱离了人体就失去了意义。
这个貌似是组成对于组成关系,可以允许每个类的对象单独存在:如: 雇主 和雇员 。雇员离开了这个雇主还可以去找其他雇主。
不知道这个跟组成或者聚集有啥关系 雇主不是由雇员组成也不是雇员聚集而成不要用文字解释了 那种可能我懂 用java代码来表示比如这种是依赖
class A{
}
class B{
void d(A a){
}
}
聚集和组成又是哪种形式
class A{
}
class B{
A a=new A();
}
这个形式肯定是其中一种 我的理解应该是聚集
thinking in java里这种形式好像被翻译成组合(第一种方法非常直观:只需在新的类中产生现有类的对象。由于新的类是由现有类的对象所组成,所以这种方法称为组合。) core java里被翻译成聚合(聚合关系意味着类A的对象包含类B的对象。)
core java1的89第二段最后一句“也就是说,add应该是Order类的一个方法,而Item对象是一个参数。”但是在90页的UML图中却用聚集的符号来表示这种关系 真的很不理解我搜索出来的结果 组成有的人用的是继承来表示的 也有把我上面写的哪种叫组成所以我想不用管java里怎么个叫法 我想知道UML里的聚集和组成对应的java代码表示形式 有理解透彻的指点一下 谢谢
合成(Composition)合成 (图G) 是聚合的一种特殊形式,暗示“局部”在“整体”内部的生存期职责。合成也是非共享的。所以,虽然局部不一定要随整体的销毁而被销毁,但整体要么负责保持局 部的存活状态,要么负责将其销毁。局部不可与其他整体共享。但是,整体可将所有权转交给另一个对象,后者随即将承担生存期职责。Employee和TimeCard的关系或许更适合表示成“合成”,而不是表示成“关联”。
但不是很认同这种解释方式 虽然java是面向对象的 但是代码毕竟还是有抽象的东西 不可能全部对应现实中的实体 不应该用带有实际逻辑的东西来表示 按照他这个解释 聚集(聚合)和组成(组合)在java中的表现形式是一样的了?
网上搜了好多结果 说法都不一样 不知道哪个是对的了