面向对象和面向过程的区别?什么是面向过程?什么是面向对象?

简介: 面向对象和面向过程的区别?什么是面向过程?什么是面向对象?

面向对象和面向过程的区别:

什么是面向过程?

概述: 自顶而下的编程模式
把问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。
就是说,在进行面向过程编程的时候,不需要考虑那么多,上来先定义一个函数,然后
使用各种诸如 if-else、for-each 等方式进行代码执行。
最典型的用法就是实现一个简单的算法,比如实现冒泡排序。

什么是面向对象?

概述: 将事务高度抽象化的编程模式
将问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之
间的调用,组合解决问题。
就是说,在进行面向对象进行编程的时候,要把属性、行为等封装成对象,然后基于这
些对象及对象的能力进行业务逻辑的实现。

面向对象和面向过程的区别:

面向过程
优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发,性能是最重要的因素。
缺点: 没有面向对象易维护、易复用、易扩展
面向对象
优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点: 性能比面向过程低

举例(形象化):把大象塞进冰箱需要几步?

按照我们常规的思维惯性,需要三步:
1、打开冰箱
2、把大象塞进去
3、关上冰箱

上述这三个步骤构成了一个过程,这个过程的目的就是把大象塞进冰箱。

过程这个词是不是有点熟悉?没错,与面向对象编程相对应的另一种编程方式就是面向过程编程,以C语言为代表。

还有一种方法把大象塞进冰箱!我们先把这件事情的两个主体找到,一个是大象,一个是冰箱。然后分别分析两个主体各自需要做什么事情。

大象:
1、走进冰箱
冰箱:
1、开门
2、关门

好了,分析好了两个主体需要做的事情,那么把大象塞进冰箱就可以这样划分了:
冰箱执行冰箱1(开门),然后大象执行大象1(走进冰箱),最后冰箱执行冰箱2(关门)。

通过这种方式,依然可以实现把大象塞进冰箱的操作!但是,这种方式是以主体划分的,这个主体就是我们所谓的对象,而采用这种方式编程就是我们常常听到的面向对象编程,以python和java为代表!

相关文章
|
存储 程序员 编译器
|
存储 缓存 监控
美团面试:说说OOM三大场景和解决方案? (绝对史上最全)
小伙伴们,有没有遇到过程序突然崩溃,然后抛出一个OutOfMemoryError的异常?这就是我们俗称的OOM,也就是内存溢出 本文来带大家学习Java OOM的三大经典场景以及解决方案,保证让你有所收获!
5653 0
美团面试:说说OOM三大场景和解决方案? (绝对史上最全)
|
4月前
|
存储 算法 关系型数据库
数据库主键与索引详解
本文介绍了主键与索引的核心特性及其区别。主键具有唯一标识、数量限制、存储类型和自动排序等特点,用于确保数据完整性和提升查询效率;而索引通过特殊数据结构(如B+树、哈希)优化查询速度,适用于不同场景。文章分析了主键与索引的优劣、适用场景及工作原理,并对比两者在唯一性、数量限制、功能定位等方面的差异,为数据库设计提供指导。
语雀的markdown常用语法
语雀的markdown常用语法
7915 0
语雀的markdown常用语法
|
5月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
4月前
|
存储 安全 Java
2025 最新史上最全 Java 面试题独家整理带详细答案及解析
本文从Java基础、面向对象、多线程与并发等方面详细解析常见面试题及答案,并结合实际应用帮助理解。内容涵盖基本数据类型、自动装箱拆箱、String类区别,面向对象三大特性(封装、继承、多态),线程创建与安全问题解决方法,以及集合框架如ArrayList与LinkedList的对比和HashMap工作原理。适合准备面试或深入学习Java的开发者参考。附代码获取链接:[点此下载](https://pan.quark.cn/s/14fcf913bae6)。
1973 48
|
4月前
|
固态存储 测试技术 iOS开发
硬盘检测工具哪个最好用?这8款值得收藏
硬盘健康状况直接影响电脑性能,选择合适的检测工具至关重要。本文推荐8款实用硬盘检测工具:Windows CHKDSK、DiskGenius免费版、Victoria、HDDScan、SeaTools、AIDA64、HD Tune Pro及Mac磁盘工具。这些工具功能全面,操作简单,涵盖S.M.A.R.T信息查看、坏道检测与修复、性能测试等,满足不同用户需求。无论是Windows还是macOS用户,均可找到适合的工具维护硬盘健康。
vscode——如何将终端调整到右侧
vscode——如何将终端调整到右侧
263 1
|
10月前
|
SQL 关系型数据库 MySQL
【MySQL基础篇】多表查询(隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询)
本文详细介绍了MySQL中的多表查询,包括多表关系、隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询及其实现方式,一文全面读懂多表联查!
1226 2
【MySQL基础篇】多表查询(隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询)
|
11月前
|
网络协议 算法 网络性能优化