`
mnieguomin
  • 浏览: 25638 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

抽象和继承

 
阅读更多

抽象应该尽可能有多的共同代码,而拥有尽可能少的数据,一个对象从超类继承来的代码,在不使用的时候不会造成资源浪费,而数据的移动是从抽象到具体,一个对象的数据不论是否使用都会占用资源。

 

继承关系分为:类对接口的实现和类对类的继承,只要有可能尽量使用合成,而不要使用继承达到复用的目的

 

使用继承关系:

1 子类是超类的一个特殊体而不是超类的一个角色,区分Has-AIs-A的不同,Has-A应该使用聚合关系描述,而只有Is-A关系才符合继承关系

2 永远不会出现将子类置换为另一个类的子类,如果不是很肯定一个类会不会在将来变成另一个类的子类的话,就不应该将这个类设计成当前这个超类的子类。

3 子类具有扩展超类的责任,而不是置换或者注销超类的责任。如果子类需要大量地置换或者注销掉超类的行为,那么这个子类不应该成为这个超类的子类。

4 只有在分类学角度上有意义时,才可以使用继承,不要从工具类继承。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics