打印

对接口编程,而不是对实现编程

[复制链接]
725|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2015-8-17 15:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

类继承是一个通过复用父类功能而扩展应用功能的基本机制。它允许你根据旧对象快速
定义新对象。它允许你从已存在的类中继承所需要的绝大部分功能,从而几乎无需任何代价
就可以获得新的实现。
然而,实现的复用只是成功的一半,继承所拥有的定义具有相同接口的对象族的能力也
是很重要的(通常可以从抽象类来继承)。为什么?因为多态依赖于这种能力。
当继承被恰当使用时,所有从抽象类导出的类将共享该抽象类的接口。这意味着子类仅
仅添加或重定义操作,而没有隐藏父类的操作。这时,所有的子类都能响应抽象类接口中的
请求,从而子类的类型都是抽象类的子类型。
只根据抽象类中定义的接口来操纵对象有以下两个好处:
1) 客户无须知道他们使用对象的特定类型,只须对象有客户所期望的接口。
2) 客户无须知道他们使用的对象是用什么类来实现的,他们只须知道定义接口的抽象类。
这将极大地减少子系统实现之间的相互依赖关系,也产生了可复用的面向对象设计的如
下原则:
针对接口编程,而不是针对实现编程。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1347

主题

12416

帖子

53

粉丝