总述
类和类之间的关系,耦合度从高到低:
- is 。继承、实现
- has 。组合、聚合、关联
- use 。依赖。
要求是:高内聚、低耦合。
继承
Person 和 Man之间是继承关系。 
实现

组合
1public class Person { 2 // Person和Heart之间是组合 3 private Heart h; 4 public Person(){ 5 h=new Heart(); 6 } 7}
特征是:要在构造方法中创建对象

聚合
1public class Car { 2 //聚合 3 private Engine e; 4 public Car(Engine e){ 5 this.e = e; 6 } 7}
聚合的特点是:有这个属性,且要在构造方法中使用,但不是在构造方法中创建的。
注意和组合的差别:两者的创建时机不同,组合是在Person创建的时候,被创建的。聚合是可以在别的创建的。
关联
1public class Person { 2 // Person 和Car之间是关联关系 3 private Car c; 4 public void setC(Car c){ 5 this.c=c; 6 } 7}
特点是:不是在构造方法中设置的。
依赖
1public class Person { 2 // 使用-依赖 3 public void traval(Train t){ 4 } 5}
特点是:要在普通方法中使用。


