C++基础03(面向对象)
文章目录
- 面向对象编程
- 面向过程编程
- 面向对象编程
- 面向对象相关概念
- 什么是类
- 对象
- 类与对象的关系
- 面向对象三大特性
- 封装
- 继承
- 多态
面向对象编程
面向过程编程
面向过程编程,关注的是怎么做的问题,就是将分析解决问题所需的步骤。它的主要思路就是将数据与函数按照执行的逻辑顺序组织在一起,数据与函数分开考虑
特点:
注重步骤与过程,不注重职责分工,开发复杂项目,没有固定的套路,开发难度很大,不好维护和扩展。
面向对象编程
面向对象编程关注的是谁来做的问题,我们在思考问题时,不在以解决任务为中心,而是以问题域中的对象为中心。从问题域中分析整理出所有参与进去的对象,以对象为中心分析整理,每个对象的属性和方法。
相⽐⾯向过程来说,⾯向对象 是 更⼤ 的 封装,⾸先确定 职责 (要做的事情(⽅法)),根据职责确定不同的 对象,在 对象 内部封装不同的⽅法(多个)并逐个实现它,最后就是按照业务逻辑让 不同的对象 调⽤ 不同的⽅法
特点:
注重对象和职责,不同的对象承担不同的职责;比较适合应对复杂的需求变化的项目。易维护、易复用,易扩展,但是缺点是性能比面向过程低。
面向对象相关概念
什么是类
类是具有相同特征(数据元素)和⾏为(功能)的对象的抽象,不能直接使⽤。
○ 特征 被称为 属性(是对事物的某种特性的抽象描述,⽐如年龄,性别)
○ ⾏为 被称为 ⽅法(表示对象的⾏为(类中定义的函数,⽤来给类添加功
能))
对象
客观世界中任何⼀个事物都可以看成⼀个对象(object),对象是 由类创建出来的⼀个具体存在,可以直接使⽤。
-
由哪⼀个类创建出来的对象,就拥有在哪⼀个类中定义的属性和⽅法
-
对象就相当于⽤图纸制造出的汽⻋。
类与对象的关系
-
类是模板,对象是根据类这个模板创建出来的,程序开发中应该先有类,再有对象
-
类只有⼀个,⽽对象可以有很多个,不同的对象 之间 属性 可能会各不相同
-
类 中定义了什么属性和⽅法,对象中就有什么属性和⽅法。
面向对象三大特性
封装
就是将抽象得到的数据和⾏为(或功能)相结合,形成⼀个有机的整体,也就是将数据与操作数据的源代码进⾏有机的结合,形成”类”,其中数据和函数都是类的成员。封装的⽬的是增强安全性和简化编程,使⽤者不必了解具体的实现细节,⽽只是要通过外部接⼝,特定的访问权限来使⽤类的成员。
继承
继承性主要描述类与类之间的关系,通过继承,可以在⽆须重新编写原有类的情、况下,对原有类的功能进⾏扩展
多态
⼀个类中的属性和⽅法被其他类继承后,对象在调⽤属性或⽅法时所表现出来的不同⾏为,多态⼀般是发⽣在⼦类和⽗类之间。