结构化程序
数据结构 + 算法
不足之处:
1. 结构化程序设计中,函数和其所操作的数据结构没有直观的联系。
2.随着程序规模的增加,程序逐渐难以理解,很难一下子看出来。
例如:
①某个数据结构到底有哪些函数可以对它进行操作。
②某个函数到底用来操作哪些数据结构的。
③任何两个函数之间存在怎样的调用关系?
面向对象的程序设计
类 + 类 +类
面向对象的程序设计方法:
1.将某类客观事物共同特点(属性)归纳出来,形成一个数据结构。
2.将这类事物所能进行的行为也归纳出来,形成一个个函数,这些函数可以用来操作数据结构;(“抽象”)
“封装”:通过某种语法形式,将数据结构和操作该数据结构的函数捆绑在一起,形成一个类。
面向对象程序设计具有“抽象”、“封装”、“继承”、“多态”四个基本特点。
类与变量
通过类,可以定义变量。类定义出来的变量,也称为类的实例,就是我们所说的“对象”。
c++中,类的名字就是用户自定义的类型的名字。可以使用基本类型那样使用它。
对象的内存分配:
和结构变量一样,对象所占用的内存空间的大小等于所有成员变量的大小之和。
每个对象各有自己的存储空间,一个对象某个成员变量被改变了,不会影响到另一个对象。