转 C++ 面向对象程序设计的基本特点
2016-08-14 09:32
337 查看
传送门
Miss it
面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象公共性质并加以描述的过程。
抽象的过程,也是对问题进行分析和认识的过程。
对问题的抽象应该包括两个方面:数据抽象 和 行为抽象(也就是功能抽象 和 代码抽象)。
用3个整形数来存储时间,分别表示时、分、秒,这个就是数据抽象。
显示时间、设置时间等功能,这就是行为抽象。
Second:封装
封装就是将抽象得到的数据和行为相结合,形成一个有机整体,也就是将数据与操作数据的函数代码进行
有机的整合,形成“类”,其中的数据和函数老师类的成员。
这个就不用解释了吧。
Third:继承
例如,一般意义的“人”都有姓名、性别、年龄等;还有吃饭、工作、学习等。
但是按照职业划分,人又分为学生、老师、工程师、医生等,每一类人又有各自的特殊属性和行为。
例如学生具有专业、年级等特殊属性和升级毕业等特殊行为,这些属性和行为是医生所不具有的。
如何把特殊与一般的概念间的关系描述清楚,使得特殊概念之间既能共享一般的属性和行为,又能
具有特殊的属性和行为呢?
继承就是解决这个问题的。
C++语言中提供了类的继承机制,允许程序员在保持原有类的基础上,进行更具体、更详细的说明。
Fourth:多态
面向对象程序设计中的多态是对人类思维方式的一种直接模拟。
比如我们在日常生活中说“打球”,这个“打”,就表示了一个抽象的信息,具有多重含义。
我们可以说:打篮球、打排球、打羽毛球,都使用“打”来表示参与某种球类运动,而其中的规则
和实际动作却相差甚远。实际上这就是对多种运动行为的抽象。
多态性是指一段程序能够处理多种类型对象的能力。
在C++中这种多态可以通过强制多态、重载多态、类型参数化多态、包含多态4种形式来实现。
包含多态和类型参数化多态属于一般多态性,是真正的多态。
C++中采用虚函数实现包含多态。虚函数是多态性的精华。
模板是C++实现参数化多态性的工具,分为函数模板和类模板两种。
Miss it
C++ 面向对象程序设计的基本特点
First: 抽象面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象公共性质并加以描述的过程。
抽象的过程,也是对问题进行分析和认识的过程。
对问题的抽象应该包括两个方面:数据抽象 和 行为抽象(也就是功能抽象 和 代码抽象)。
用3个整形数来存储时间,分别表示时、分、秒,这个就是数据抽象。
显示时间、设置时间等功能,这就是行为抽象。
Second:封装
封装就是将抽象得到的数据和行为相结合,形成一个有机整体,也就是将数据与操作数据的函数代码进行
有机的整合,形成“类”,其中的数据和函数老师类的成员。
这个就不用解释了吧。
class Clock { public: void settime(); void showtime(); private: int hour, minute, second; }
Third:继承
例如,一般意义的“人”都有姓名、性别、年龄等;还有吃饭、工作、学习等。
但是按照职业划分,人又分为学生、老师、工程师、医生等,每一类人又有各自的特殊属性和行为。
例如学生具有专业、年级等特殊属性和升级毕业等特殊行为,这些属性和行为是医生所不具有的。
如何把特殊与一般的概念间的关系描述清楚,使得特殊概念之间既能共享一般的属性和行为,又能
具有特殊的属性和行为呢?
继承就是解决这个问题的。
C++语言中提供了类的继承机制,允许程序员在保持原有类的基础上,进行更具体、更详细的说明。
Fourth:多态
面向对象程序设计中的多态是对人类思维方式的一种直接模拟。
比如我们在日常生活中说“打球”,这个“打”,就表示了一个抽象的信息,具有多重含义。
我们可以说:打篮球、打排球、打羽毛球,都使用“打”来表示参与某种球类运动,而其中的规则
和实际动作却相差甚远。实际上这就是对多种运动行为的抽象。
多态性是指一段程序能够处理多种类型对象的能力。
在C++中这种多态可以通过强制多态、重载多态、类型参数化多态、包含多态4种形式来实现。
包含多态和类型参数化多态属于一般多态性,是真正的多态。
C++中采用虚函数实现包含多态。虚函数是多态性的精华。
模板是C++实现参数化多态性的工具,分为函数模板和类模板两种。
相关文章推荐
- C++之面向对象程序设计的基本特点(抽象、封装、继承、多态)
- C++ 面向对象程序设计的基本特点
- C++_面向对象程序设计基本概念
- 面向对象程序设计的基本特点
- 面向对象程序设计的基本特点
- C++面向对象特点—多态性
- 面向对象程序设计(C++)教学资源[2009]
- Java与C++在面向对象基本概念上的区分
- JavaSE 拾遗(1)——JavaSE 面向对象程序设计语言基础(1)...基本概念和常识
- 面向对象程序设计-C++ Steam & Vector 【第三次上课笔记】
- 【c++】面向对象程序设计之访问控制与继承
- 【c++】面向对象程序设计之虚函数详解
- 【c++】面向对象程序设计之继承中的类作用域
- 第1章 Java基本概念及环境配置——FAQ1.02 面向对象程序设计的基本特征有哪些?
- 【Linux基础】面向对象程序设计的特点
- 面向对象程序设计的基本特征有哪些?
- 面向对象程序设计--C++/Java
- 面向对象程序设计--C++/Java
- 面向对象的程序设计的基本思路
- 鸡啄米:C++编程入门系列之十二(类与对象:面向对象设计的基本思想和特点)