360云盘做 网站图片服务器,地产渠道12种拓客方式,如何做高端网站建设,怎么做网站链接广告1.继承
泛化(Generalization)可以简单理解为继承关系子类一定知道父类,父类不一定知道自己的子类情况,所以子类指向父类 public class A { ... }
public class B extends A { ... }2.实现
实现(Realizationÿ…
1.继承
泛化(Generalization)可以简单理解为继承关系
子类一定知道父类,父类不一定知道自己的子类情况,所以子类指向父类
publicclassA{...}publicclassBextendsA{...}
2.实现
实现(Realization)一般是指接口和实现类之间的关系
实现的只是方法,虚的
publicinterfaceA{...}publicclassBimplementsA{...}
3.组合(不可分)
组合(Composition):是一种包含关系。A 类对象包含 B 类对象,B 类对象的生命周期 跟依赖 A 类对象的生命周期,B 类对象不可单独存在
比如人与大脑之间的关系,不可分实心的
publicclassA{private B b;publicA(){this.b =newB();}}
4.聚合(可分)
聚合(Aggregation)也是一种包含关系,A 类对象包含 B 类对象,但 B 类对象的生命周期可以不依赖 A 类对象的生命周期,也就是说可以单独销毁 A 类对象而不影响 B 对象
比如家庭与孩子之间的关系,可分空心的
publicclassA{private B b;publicA(B b){this.b = b;}}
5.关联(强)
关联(Association)
是一种拥有的关系,它使一个类知道另一个类的属性和方法;
如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。
双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
代码表现
B 类对象是 A 类的成员变量
也可能是关联类A引用了一个类型为被关联类B的全局变量
publicclassA{private B b;publicA(B b){this.b = b;}}
或者
publicclassA{private B b;publicA(){this.b =newB();}}
6.依赖(弱)
依赖(Dependency)
是一种比关联关系更加弱的关系,包含关联关系
是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。
代码表现:只要 B 类对象和 A 类对象有任何使用关系,我们都称它们有依赖关系
B 类对象 是 A 类对象的成员变量
A 类的方法使用 B 类对象作为参数或者返回值、局部变量,
静态方法的调用
publicclassA{private B b;publicA(B b){this.b = b;}}
或者
publicclassA{public B f(){returnnewB;}}
或者
publicclassA{publicvoidfunc(B b){...}}