依赖:
依赖就是一种使用关系。假设B类的变化引起了A类的变化,那么就说A类依赖于B类。反映到代码中就是A类的属性或方法中具有B类的特性。
依赖关系有以下三种情况:
1、 B类是A类(某种方法)的局部变量;
2、 B类是A类方法当中的一个参数;
3、 B类向A类发送消息,从而影响A类发生变化。
关联:
用几个例子来说明吧:客户和订单之间就是关联关系,每个订单对应特定的客户,每个客户可以对应一些特定的订单;篮球队员与球队之间也是关联关系,一个球队有不同的球员,某个球员隶属于特定的球队。
向上面的两种类之间具有某种结构关系的时候就可以建立关联关系。
需要注意的是还有限定关联和自身关联;聚合和组合属于关联关系。
继承:
又称泛化,就是对类进行进一步抽象,这个理解起来比较容易。需要注意的有以下三点:
1、 子类应与父类完全一致,父类有的属性、操作,子类也都应该有;
2、 子类除了具有父类中的所有信息外,还有自己特有的信息;
3、 可以使用父类的地方,都可以使用子类。
实现:
常用的就是接口的实现。接口,是操作的集合。
四种关系的使用规则:
能用组合关系的就不用聚合,能用聚合的就不用一般的关联,如果可以用关联,就不用依赖,合理使用继承和接口。