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的关系,是对象之间耦合度最大的一种关系,子类继承父类的所有细节。直接使用语言中的继承表达。