类的继承与组合的思路建议
类的继承和组合:
类之间的关系是继承还是组合取决于业务逻辑上类之间的关系,选择应该是基于业务逻辑,而非功能恰好相同或偶尔需要。
在设计模式中的博文里有对继承和组合等类之间耦合关系的讲解,此处只有简单的建议。
继承的建议:
1、豪不相关的两个类不应该因为想要让某个类功能多一点而继承另一个类。
2、逻辑上如果b是a的一种,并且a的所有功能和属性对b有意义,那么b允许继承a的功能和属性:牛奶是饮料的一种,男人是人的一种;圆不能算椭圆的一种。
组合的建议:
1、逻辑上a是b的一部分,则不允许b从a派生,而是要用a和其他东西组合出b:眼(eye)耳(ear)口(mouse)鼻(nose)四个类组成头(head)(兴许不够),而不是头head从眼耳口鼻中派生出来。