面向对象思想和面向过程思想分析
面向对象思想
面向过程需要的参数很多,面向对象需要的参数就是对象(类的实例-结构体),这样后续需要加某些属性,比如洗衣机的容量,直接在对象的定义处添加即可,不需再在函数的定义上添加。
对象-抽象出来 属性和方法
过程就是说明书 1步步的执行,过程就是函数。
比如存入ATM机器
这是面向过程
这是面向对象
先定义ATM类,类再创建对象,类是创建对象的模板,对象是类的实例
面向对象,这样看着更清晰。都不用写注释
面向过程
面向对象:
在对象的属性复杂的时候,面向对象能让编程逻辑更清晰,信息更集中。
面向对象的三个特性:
封装、继承、多态
封装:就是有人把类的方法定义好了,接手的人不需要知道里面的具体实现原理,就像洗衣机向外封装好的按钮一样,我们只需要知道按钮如何使用即可,不需要了解洗衣机里面的电路板逻辑。
继承:就是定义类的时候,继承父类的属性,减少代码冗余,比如大学生和小学生都是学生,他们有学生的共同属性(如学号、班级等),这时候继承父类(学生)即可,不需要重复 定义。
多态:即大学生和小学生都需要写作业,但是写作业的方式肯定不同,小学生可能用纸写,大学生可能需要电脑写代码。所以崽这个类的实例是大学生和小学生,大学生和小学生是不同的对象,他们的写作业的方法不一样,但是写代码的时候只需要调用写作业这个方法就行了。
而面向过程的需要先判断if(是大学生吗?)
大学生的方法
else
小学生的方法。
C是纯面向过程的语言,java是纯面向对象。
C++是一种多范式编程语言,它支持面向对象编程(OOP)和面向过程编程(POP)。面向对象编程强调的是对象和它们之间的交互,而面向过程编程则侧重于执行过程和步骤的函数。
面向对象编程(OOP)是C++的核心特性之一。在OOP中,程序被视为一系列相互作用的对象。每个对象都可以包含数据和能够操作这些数据的代码。C++中的类(class)和对象(object)是OOP的基础。类定义了对象的结构和行为,而对象是类的实例。OOP的主要优点是它提供了代码的封装、继承和多态性,这有助于创建可重用、可维护和可扩展的代码。
面向过程编程(POP)是从C语言继承而来的编程范式。在POP中,问题被分解为一系列步骤或过程,每个步骤用函数实现。面向过程的代码通常更关注于执行的顺序和逻辑流程。它的优点是性能较高,因为没有对象实例化的开销,但缺点是代码可能不太易于维护和扩展。