1 概念
面向过程: 是一种以过程为中心的编程思想。就是分析出解决问题所需要的的步骤,然后使用函数把这些步骤一步一步实现,依次调用这些函数即可解决问题。
面向对象: 把问题事务分解成各个对象,创建对象不是为了完成问题事务的某一个步骤,而是为了描述某个事物在解决整个问题中的行为。
2 理解
我们可以拿生活中喝水的例子理解:
面向过程喝水: 1、拿起杯子;2、按下饮水机按钮接水 3、喝水
面向对象喝水: 1、杯子,用于接水,水的中间承载容器;2、饮水机,装水的容器,包括提供出水按钮,方便取水;3、人,作为水的需求方。饮水机提供出水的接口,人只需要拿着杯子,按下按钮接水,就可以喝到水。
3 优缺点
面向过程
- 优点:性能比面向对象高,因为面向过程语言大多直接编译成机械码在电脑上执行。所以性能是主要考虑因素的时候,比如单片机、嵌入式开发、Linux/Unix一般使用面向过程开发。
- 缺点:没有面向对象易维护、易复用、易拓展。
面向对象
- 优点:易维护、易复用、易拓展,由于面向对象有封装、继承、多态等特性,可以低耦合的系统,使系统更灵活、易维护。
- 缺点:因为类需要实例化,开销比较大,比较消耗资源,所以性能较面向过程差。