继承和组合、抽象类和接口
来源:互联网 发布:进程调度算法java 编辑:程序博客网 时间:2024/05/02 01:07
继承和组合的使用原则:
1、很多资料中提到的一点,如果两个类之间是is-a的关系,那么就使用继承,而如果是has-a的关系就使用组合。
但是这也不是代表is-a是使用继承的绝对理由,有时候为了消除继承关系带来的耦合,使用组合可以更好的实现封装细节。
如果在一个系统中大量应用继承,继承层次深了,那么会给系统的开发和维护带来困难。
2、无论何时,如果你使用继承,但是又不想向上转型,那么这个时候就应该慎重选择,只要有可能,就应该考虑使用组合来达
到自己的目的。因为组合在类的运行期间通过类的属性来改变类的行为,这样更加灵活,并且可以随时出现。
3、还有一个重要原则是方法是否共享。
抽象类和接口的选用原则:
1、如果多个派生类的方法中没有共同的地方,那么就使用接口作为抽象,否则就使用抽象类作为抽象
2、当系统某个地方只需要定义对象的行为,而不需要实现对象的行为,这个时候就尽量使用接口。
上面只是个简单的介绍,读者还需要慢慢的品味话中的含义
1、很多资料中提到的一点,如果两个类之间是is-a的关系,那么就使用继承,而如果是has-a的关系就使用组合。
但是这也不是代表is-a是使用继承的绝对理由,有时候为了消除继承关系带来的耦合,使用组合可以更好的实现封装细节。
如果在一个系统中大量应用继承,继承层次深了,那么会给系统的开发和维护带来困难。
2、无论何时,如果你使用继承,但是又不想向上转型,那么这个时候就应该慎重选择,只要有可能,就应该考虑使用组合来达
到自己的目的。因为组合在类的运行期间通过类的属性来改变类的行为,这样更加灵活,并且可以随时出现。
3、还有一个重要原则是方法是否共享。
抽象类和接口的选用原则:
1、如果多个派生类的方法中没有共同的地方,那么就使用接口作为抽象,否则就使用抽象类作为抽象
2、当系统某个地方只需要定义对象的行为,而不需要实现对象的行为,这个时候就尽量使用接口。
上面只是个简单的介绍,读者还需要慢慢的品味话中的含义
0 0
- 继承和组合、抽象类和接口
- DAY31继承派生、组合、接口和抽象类
- 继承,接口和抽象类
- 继承、抽象类和接口
- 抽象类接口和继承
- 抽象类接口和继承
- C#中的继承 (继承、抽象类和抽象方法、接口)
- C#中的继承 (继承、抽象类和抽象方法、接口)
- 黑马程序员-Java的面向对象(抽象类、接口、内部类和继承、组合、多态)
- 类、抽象类、接口、继承和对象
- 深入继承 - 抽象类和接口
- 深入继承 - 抽象类和接口
- 深入继承 - 抽象类和接口
- 继承之接口和抽象类区别
- 继承之接口和抽象类区别
- 深入继承 - 抽象类和接口
- java继承、接口和抽象类
- 复习继承和接口、抽象类
- 正则表达式元字符 - 正则表达式 - PHP粉丝网
- 束文辉:Intel如何玩转OpenStack
- boa on fl2440
- ubuntu下修改了mysql的conf出现问题
- U001 UML 用例图
- 继承和组合、抽象类和接口
- 九度1008,最短路径问题
- 校门外的树
- NYOJ 678 最小K个数之和
- “显示桌面”图标跑到桌面上
- hibernate的sql查询
- U002 UML图 类图
- 由 serverAdd.sin_addr.s_addr 引发的思考
- 【wikioi】1174靶形数独