“多态”意味着“不同的形式”。在面向对象的程序设计中,我们持有相同的外观(基类的通用
接口)以及使用该外观的不同形式:不同版本的动态绑定方法。
在本章中我们已经知道,如果不运用数据抽象和继承,就不可能去理解,进而也不可能创建
一个多态例子。多态是一种不能单独来看待的特性(例如,像 switch 语句是可以的),相
反它只能作为类关系“全景”中的一部分,与其它特性协同工作。人们经常被 Java 语言中
其他的非面向对象的特性所困扰,比如方法重载等,人们有时会被认为这些是面向对象的特
性。但是不要被愚弄:如果不是后期绑定,就不是多态。
为了在自己的程序中有效地运用多态乃至面向对象的技术,必须扩展自己的编程视野,使其
不仅包括单个类的成员和消息,而且也包括类与类之间的共同特性以及它们之间的关系。尽
管这需要极大的努力,但是这样做是非常值得的,因为它可以带来很多成效:更快的程序开
接口)以及使用该外观的不同形式:不同版本的动态绑定方法。
在本章中我们已经知道,如果不运用数据抽象和继承,就不可能去理解,进而也不可能创建
一个多态例子。多态是一种不能单独来看待的特性(例如,像 switch 语句是可以的),相
反它只能作为类关系“全景”中的一部分,与其它特性协同工作。人们经常被 Java 语言中
其他的非面向对象的特性所困扰,比如方法重载等,人们有时会被认为这些是面向对象的特
性。但是不要被愚弄:如果不是后期绑定,就不是多态。
为了在自己的程序中有效地运用多态乃至面向对象的技术,必须扩展自己的编程视野,使其
不仅包括单个类的成员和消息,而且也包括类与类之间的共同特性以及它们之间的关系。尽
管这需要极大的努力,但是这样做是非常值得的,因为它可以带来很多成效:更快的程序开
发过程、更好的代码组织、更好的代码扩展以及更容易的代码维护等。