多态性

当处理类型层次结构时,程序员常常希望不把对象看作是某一特殊类型的成员,而把它看作基本类型成员,这样就可以编写不依赖于特殊类型的代码。在形体例子中,函数可以对一般形体进行操作,而不关心它们是圆、正方形还是三角形。所有的形体都能被绘制、擦除和移动,所以这些函数能简单地发送消息给一个形体对象,而不考虑这个对象如何处理这个消息。

继承:类型关系

  类型不仅仅说明一组对象上的约束,还说明与其他类型之间的关系。两个类型可以有共同的特性和行为,但是,一个类型可能包括比另一个类型更多的特性,也可以处理更多的消息类型不仅仅说明一组对象上的约束,还说明与其他类型之间的关系。两个类型可以有共同的特性和行为,但是,一个类型可能包括比另一个类型更多的特性,也可以处理更多的消息类型不仅仅说明一组对象上的约束,还说明与其他类型之间的关系。两个类型可以有共同的特性和行为,但是,一个类型可能包括比另一个类型更多的特性,也可以处理更多的消息或对消息进行不同的处理)。继承表示了基本类型和派生类型之间的相似性。一个基本类型具  有所有由它派生出来的类型所共有的特性和行为。程序员创建一个基本类型以描述系统中一些对象的思想核心。由这个基本类型派生出其他类型,表达了认识该核心的不同途径。

面向对象语言

第一个面向对象的程序设计语言是 6 0 年代开发的 Simula-67 。其目的是为了解决模拟问题。 典型的模拟问题是银行出纳业务,包括出纳部门、顾客、业务、货币的单位等大量的“对象” 。 把那些在程序执行期间除了状态之外其他方面都一样的对象归在一起,构成对象的“类” ,这 就是“类”一词的来源。