面向对象语言的多态性问题
2014-08-01 09:40
239 查看
一直以来在我们所见到的概念中,面向对象语言有三大特性:封装性、继承和多态。
封装性:
在面向对象的语言中存在有类的概念,因此实现了数据和行为(方法)的封装,在外部表现为统一的类或对象。在类的外部要访问类的公有成员(私有成员通过类或对象也是不能访问的),必须通过类名或对象来访问。
继承:
类的继承是在现有类的基础之上创建新的类,实现了代码的重用,并且扩展了现有类的功能的机制。关于继承方面,有的语言支持单继承和多继承(如C++),但有的语言只支持单继承(Java语言)。
多态:
多态是程序设计语言的一个重要特征。现在好多人都会有一种误解:认为只有面向对象语言才支持多态。其实不然,公认的世界上第一种面向对象语言为simula,诞生于1962年。而诞生于1959年的函数式编程语言LISP天生就支持多态,但LISP却不属于面向对象语言,因为它根本就不存在类的概念。
封装性:
在面向对象的语言中存在有类的概念,因此实现了数据和行为(方法)的封装,在外部表现为统一的类或对象。在类的外部要访问类的公有成员(私有成员通过类或对象也是不能访问的),必须通过类名或对象来访问。
继承:
类的继承是在现有类的基础之上创建新的类,实现了代码的重用,并且扩展了现有类的功能的机制。关于继承方面,有的语言支持单继承和多继承(如C++),但有的语言只支持单继承(Java语言)。
多态:
多态是程序设计语言的一个重要特征。现在好多人都会有一种误解:认为只有面向对象语言才支持多态。其实不然,公认的世界上第一种面向对象语言为simula,诞生于1962年。而诞生于1959年的函数式编程语言LISP天生就支持多态,但LISP却不属于面向对象语言,因为它根本就不存在类的概念。
相关文章推荐
- 面向对象语言的多态性问题
- 关于javascript语言的继承、面向对象问题的文章
- C#语言使用多态(接口与override) ——帮您剔除对面向对象多态性的疑惑
- [黑马程序员]11[OC语言]圆,点问题, OC的面向对象程序设计思想和类封装
- ActionScript 3.0 Step By Step系列(五):走在面向对象开发的路上,以类为基础去思考编程问题
- 面向对象思想 - 关于对象(材料来自thinking in Java,这些东西是跟C#相通的,跟语言无关)
- 高级语言程序设计实验大纲 面向对象程序设计实验大纲
- Java面向对象继承与组合的问题
- 面向对象语言概论 (二)
- 面向对象语言概论 (一)
- Java语言面向对象特性详解
- 面向对象语言概论(四)
- 面向对象语言基础 一
- ActionScript 3.0 Step By Step系列(五):走在面向对象开发的路上,以类为基础去思考编程问题
- 面向对象语言概论(三) 基于类的高级特性
- ActionScript 3.0 Step By Step系列(五):走在面向对象开发的路上,以类为基础去思考编程问题
- 在面向过程语言和开发中借鉴面向对象思想提高程序模块化和阅读性
- .NET 7期同学面向对象学习中问题总结
- 面向对象来看问题
- 面向对象代理类的问题