类和类的关系
泛化(继承)
泛化耦合度最高,继承的语义是a类和b类是一种!!!!!!不推荐用来
关联(组合,复合)
a作为b的一个成员
依赖
作为函数的一个参数,耦合度较低,两个类之间是合作关系。
谈实现代码复用选择继承和组合方式的问题
继承的本质是两个类是一种事物,父类的变化意味着子类的变化,耦合度极高,如果仅仅是为了代码的复用,不建议采用继承。而采用组合,组合的本质是有一个,也可以达到复用代码的目的。但是这极大的降低了模块之间的耦合度。体现了设计原则中的组合复用原则。该原则本质上是隔离两个类之间的变化。