首页 > 代码库 > 面向对象语言的多态性问题

面向对象语言的多态性问题

一直以来在我们所见到的概念中,面向对象语言有三大特性:封装性、继承和多态。

封装性:

在面向对象的语言中存在有类的概念,因此实现了数据和行为(方法)的封装,在外部表现为统一的类或对象。在类的外部要访问类的公有成员(私有成员通过类或对象也是不能访问的),必须通过类名或对象来访问。

继承:

类的继承是在现有类的基础之上创建新的类,实现了代码的重用,并且扩展了现有类的功能的机制。关于继承方面,有的语言支持单继承和多继承(如C++),但有的语言只支持单继承(Java语言)。

多态:

多态是程序设计语言的一个重要特征。现在好多人都会有一种误解:认为只有面向对象语言才支持多态。其实不然,公认的世界上第一种面向对象语言为simula,诞生于1962年。而诞生于1959年的函数式编程语言LISP天生就支持多态,但LISP却不属于面向对象语言,因为它根本就不存在类的概念。