面向对象语言的多态性问题
2017-07-31 10:18 tlnshuju 阅读(322) 评论(0) 编辑 收藏 举报一直以来在我们所见到的概念中,面向对象语言有三大特性:封装性、继承和多态。
封装性:
在面向对象的语言中存在有类的概念,因此实现了数据和行为(方法)的封装。在外部表现为统一的类或对象。在类的外部要訪问类的公有成员(私有成员通过类或对象也是不能訪问的),必须通过类名或对象来訪问。
继承:
类的继承是在现有类的基础之上创建新的类,实现了代码的重用,而且扩展了现有类的功能的机制。关于继承方面,有的语言支持单继承和多继承(如C++),但有的语言仅仅支持单继承(Java语言)。
多态:
多态是程序设计语言的一个重要特征。如今好多人都会有一种误解:觉得仅仅有面向对象语言才支持多态。
事实上不然,公认的世界上第一种面向对象语言为simula。诞生于1962年。
而诞生于1959年的函数式编程语言LISP天生就支持多态。但LISP却不属于面向对象语言。由于它根本就不存在类的概念。