破坏封装的继承是一把双刃剑

封装:隐藏实现细节。

继承可能破坏封装是因为子类和父类之间可能存在着实现细节的依赖。子类在继承父类的时候,往往不得不关注父类的实现细节,而父类在修改其内部实现的时候,如果不考虑子类,也往往会影响到子类。

对于子类而言,通过继承实现,是没有安全保障的,父类修改内部实现细节,它的功能就可能会被破坏。

对于父类而言,让子类继承和重写方法,就可能丧失随意修改内部实现的自由。

正确使用继承

编写子类时,需要注意的是:

1.重写方法不要改变预期的行为。

2.阅读文档说明,理解可重写方法的实现机制,尤其是方法之间的调用关系。

3.在基类修改的情况下,阅读其修改说明,相应修改子类。

编写基类时,需要注意的是:

1.使用继承反应真正的“is-a”关系,只将真正公共的部分放到基类。

2.对不希望被重写的公开方法添加final修饰符。

3.写文档,说明可重写方法的实现机制,为子类提供倡导,告诉子类应该如何重写。

4.在基类修改可能影响子类时,写修改说明。

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2021 Silver Shaded
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信