关联关系【association】(企鹅知道气候)
关联关系是使用实例变量来实现的
class Penguin:Bird { private Climate climate; }
聚合关系【aggregation】(在大雁群类中有大雁数组对象)
在代码层面聚合与关联是一致的,只能从语义上来区分。
class WideGooseAggregate//大雁群类 { private WideGoose[] arrayWideGoose;//大雁数组 }
组合(合成)关系【composition】(翅膀组合成鸟)
体现在代码层面与关联时一致的,只能从语义来区分
class Bird { private Wing wing; public Bird() { wing=new Wing(); } }
依赖关系【dependency】(动物的新陈代谢需要水和氧气)
依赖表现为:局部变量,方法中的参数和对静态方法的调用。
class Animal { public Metabolism(Oxygen oxygen,Water water) { //新城代谢代码 } }
类和类之间的继承关系(鸟继承于动物)
类和接口间的实现关系(大雁实现了飞翔接口)
主要是关联关系的细化需要注意强弱,由若到强分别是 依赖 < 关联 < 聚合 < 组合
参考文章:https://www.cnblogs.com/jiyuqi/p/4571543.html
参考书籍:《大话设计模式》