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

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

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

什么是面向过程?

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

什么是面向对象?

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

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

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

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

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

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

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

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

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

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

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

相关文章
|
4月前
关于对面向对象和面向过程的理解
关于对面向对象和面向过程的理解
44 1
|
6月前
面向对象与面向过程的区别
面向对象与面向过程的区别
75 0
面向对象和面向过程的理解
面向对象和面向过程的理解
116 1
|
7月前
面向对象和面向过程
面向对象和面向过程
49 0
|
Java C++
面向对象—面向过程
从80年代起,人们基于以往提出的有关信息隐蔽和抽象数据类型等概念,以及由MODula2,Ada和Smalltalk和语言所奠定的基础,再加上客观需求的推动,进行了大量的理论研究和是时间探索 ,不同类型的面向对象语言(如:Object-c、c++,Java、object-Pascal)逐步地发展和建立起较完整的和雨后春笋般研制开发出来,OO方法概念理论体系和实用的软件系统。面向对象源于Simula,真正的OOP由Smalltalk奠基
80 0
你真的知道面向对象与面向过程的区别吗?
你真的知道面向对象与面向过程的区别吗?
122 0
|
7月前
面向对象编程的理解,面向过程和面向对象有什么区别
面向对象编程的理解,面向过程和面向对象有什么区别
65 0
|
7月前
|
JavaScript 前端开发 开发者
面向过程和面向对象
面向过程和面向对象
83 0