1.依赖
对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量,函数参数,返回值建立的对于其他对象的调用关系。
public class A {
// 方法一
public void test1(B objb) { } // 方法二
public B test2() {
B objb = new B();
return objb;
} public static void main(String[] args) {
A obja = new A();
}
}
public class B { }
2.关联
对象之间一种引用关系,比如客户类与订单类之间的关系,这种关系通常使用的类的属性表达。
public class A {
private B objb; public static void main(String[] args) {
A obja = new A();
}
} public class B { }
3.聚合
表示has-a的关系,是一种不稳定的包含关系,聚合类不必对被聚合类负责,使用集合属性表达聚合关系。
public class Car {
private Engine engine; public void setEngine(Engine engine) {
this.engine = engine;
} public Engine getEngie() {
return engine;
}
} class Engine { }
4.组合
表示contains-a的关系,是一种强烈的包含关系,组合类负责被组合类的生命周期,也使用集合属性表达聚合关系。
class Head() {
Mouth mouth = new Mouth();
} class Mouth() { }
5.继承
表示is-a的关系,是对象之间耦合度最大的一种关系,子类继承父类的所有细节。直接使用语言中的继承表达。