从博客获得灵感,做一下自己理解的笔记,便于以后自己复习。(4条消息) 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客_c++面向对象程序设计
一、面向过程和面向对象
(1)面向过程:程序设计的规范是比较广泛的面向过程性语言,主要的特征是:它将程序分成过程定义和过程调用。(面向过程就是值程序执行某项命令的一段代码,比如说函数的调用就是比较常见的过程。)
(2)面向对象:程序的结构特点是①程序是由类的定义和类的使用组成。②程序中一切操作是通过向对象发送消息来实现的。
对象=算法+数据结构
二、面向对象程序设计的基本特征:封装、继承、多态
(1)封装:可以对—个对象进行封装处理,把它的一部分属性和功能对外界屏蔽,也就是说从外界是看不到的,甚至是不可知的。这样做的好处是大大降低了操作对象的复杂程度。
意义:①将属性和行为作为一个整体,表现生活中的事物
②将属性和行为加以权限控制 这也是与struct的重要区别(即默认的访问权限是不同
的),struct默认的权限:public,而类的默认权限是private
(2)继承:如果在软件开发中已经建立了一个名为A的“类”,又想另外建立一个名为B的“类”,而后者与前者内容基本相同,只是在前者的基础上增加一些属性和行为,只需在类A的基础上增加一些新内容即可。这就是面向对象程序设计中的继承机制
意义:减少重复代码
(3)多态:如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作。这种情况就是多态现象。
在C++中,所谓多态性(polymorphism)是指:由继承而产生的相关的不同的类,其对象不同对同一消息会作出不同的响应。多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。
多态满足条件:①有继承关系 ②子类重写父类中的虚函数
多态使用条件:父类指针或引用指向子类对象。