类和对象
-
结构化程序设计
程序 = 算法 + 数据结构
算法第一, 数据结构第二
-
面向对象程序设计
程序 = 对象 + 对象…
每个对象负责一组相关任务
-
面向对象编程开发范式特性
- 程序之间彼此发送消息
- 万物皆对象
- 每个对象都有自己的内存空间
- 每个对象都有自己的类型
- 概念
- 类
- 类是创建对象的模板和蓝图
- 类是一组类似对象的共同抽象定义
- 对象
- 对象是类的实例化结果
- 对象是实实在在存在, 代表现实世界某一事物
- 对象三个特性
- 行为
- 状态
- 标识
- 类
//如何获取函数的地址 ?
c++支持__func__
表示当前函数的函数名
自身含有this
指针, 所以他的地址就是函数的地址
OPP三大特性
-
封装
类背后隐藏的思想是数据的抽象和封装
信息的隐藏, 隐藏对象的实现细节, 不让外部直接访问到
将数据成员和成员函数一起包装到一个单元中, 以这个单元为单位实现
隐藏的结果为一个同时带有特征和行为的数据类型
信息隐藏是OOP最重要的功能之一, 也是使用访问修饰符的原因
信息隐藏原因为:
-
对模块的任何更改不会影响使用该模块
-
防止用户意外修改数据(通过访问修饰符
private
public
protect
) -
便于使用和维护(当我们需要改变某个模块的功能的时候不需要对外的接口改变如同现实生活中的换车的引擎不需要改动刹车等)