抽象和继承

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

 

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

 

使用继承关系:

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值