什么是类?
- 类是对一个相同群体来进行描述的,描述对象都具有那些属性(成员变量),描述对象都具有那些功能(成员函数)
- 在C++中,定义一个类时,就相当于定义了一个类型,也定义了一个新的作用域
- 类相当于是一张图纸,在图纸上涉及房子的样式,(类是不占用空间的,而用类定义出来的对象是"占用空间"的,即: 数据是不能放到类中,只能存储到用类定义出来的对象中)
什么是对象?
- 对象是实实在在存在的,是类的一种具体的体现,是用类类型定义出来的一个变量,数据最终都是放在对象中的
- 对象: 相当于是用图纸建造出来的房子
面向对象和面向过程?
面向过程和面向对象不是一种新的编程语言,而是一种解决问题的方法
- 面向过程:
- 是以函数驱动,通过函数调用的先后次序来完成事情
- 那么,来举一个很简单的例子(洗衣服)
- 按照预先设计好的步骤逐步进行,就可以将事情完成掉了
- 上述过程中的每一步都可以将看成是函数调用
- 优点:
- 流程比较清晰,设计相对而言也比较简单
- 缺陷:
- 不适合大型的工程
- 程序后期的可维护性也比较差
- 面向对象:
- 不会关心具体的过程,关心有那些对象,这些对象如何来进行交互
- 同样是洗衣服的例子
- 人--->将衣服/洗衣粉/洗衣液放到洗衣机中然后按下洗衣机的开关键----->洗衣机自动来完成洗衣过程
- 面向对象思想:
- 更符合对事物的认知过程
- 适合大型的工程或者复杂的问题可扩展性/维护性都比较友
什么是封装?
- 将数据和操作数据的方法进行有机结合隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。
- 依旧来一个例子:
-
人需要通过键盘、鼠标、显示器等外设与电脑进行交互
-
电脑外部的壳子就将电脑内部的一些实现细节隐藏起来了
-
内部的零部件是如何组织到一块的?
-
线路是如何连接在一起的? (我们并不需要详细知道)
-