面向过程与面向对象
-
面向过程是一种以“事件”为中心、自顶向下的编程。把问题模块化。分析出解决问题所需的步骤,然后用函数把这写步骤实现,并按顺序调用。 -
面向对象是以“对象”为中心的编程思想。把问题对象化。先建立抽象模型,然后再使用模型解决问题。抽象出对象的目的并不在于完成某个步骤,而是描述其在整个解决问题的步骤中的行为。
简单的举个例子:汽车发动、汽车到站。
-
这对于“面向过程”来说,是两个事件,汽车启动是一个事件,汽车到站是另一个事件。针对上述两个事件,写两个函数,之后依次调用。
-
然而这对于“面向对象”来说,我们关心的是汽车这类对象,两个事件只是这类对象所具有的行为。而且对于这两个行为的顺序没有强制要求。
面向过程
优点:性能高,因为类调用时需要实例化,开销比较大;比如单 片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。在程序较小的时候,面向过程就会体现出一种优势,其程序流程十分清楚。
缺点:没有面向对象易维护、易复用、易扩展
面向对象
优点:易维护、易复用、易扩展,支持封装、继承、多态性的特性,可以设计出低耦合的系统 缺点:性能低