网络上,说到类与类之间的关系,不是抄来抄去,就是一些难懂的语言.
在理解的基础上,通过口诀记忆.
图标口诀
继,实,三角.
关,依,箭头.
组,聚,四方.
依 局,三成.
解释:
继,实,三角 :继承实现,三角形,继承实线,实现虚线
关,依,箭头.:关联依赖,箭头, 关联实线,依赖,虚线
组,聚,四方.:组合聚合,四边形
依,局,三成:依赖是局部变量,其他三个是成员变量
实现口诀
依赖,局部.
关连,成员,
聚合,聚集(集合)
组合,口鼻.(不分)
解释:
依赖:纯局部变量,包含:传参,方法内变量,静态方法----不能有成员变量
关联:成员变量,不能在构造器中实例化
聚合:集合成员变量
组合:构造器中实例化
关联,聚合,组合,
很像:都是成员变量
要记住区别:
关联:单成员,没有在构造器实例化
聚合:在构造器实例化,或者,成员实例化
组合:多成员--集合成员
例子:
关联:成员变量
public class You {
private Pen pen;
依赖 :局部变量
public class Pen {
public void write(){
System.out.println("use pen to write");
}
}
public class Me {
public void write(Pen pen){//这里,pen作为Me类方法的参数
pen.write();
}
}
组合:同命
public class Nose {
private Eye eye = new Eye(); //一个人有鼻子有眼睛
private Nose nose = new Nose();
聚合:聚集
public class Family {
private List<Child> children; //一个家庭里有许多孩子