面试_java_面向过程与面向对象

147 阅读1分钟

面向过程与面向对象

  • 面向过程 是一种以“事件”为中心、自顶向下的编程。把问题模块化。分析出解决问题所需的步骤,然后用函数把这写步骤实现,并按顺序调用。

  • 面向对象 是以“对象”为中心的编程思想。把问题对象化。先建立抽象模型,然后再使用模型解决问题。抽象出对象的目的并不在于完成某个步骤,而是描述其在整个解决问题的步骤中的行为。



简单的举个例子:汽车发动、汽车到站。

  • 这对于“面向过程”来说,是两个事件,汽车启动是一个事件,汽车到站是另一个事件。针对上述两个事件,写两个函数,之后依次调用。

  • 然而这对于“面向对象”来说,我们关心的是汽车这类对象,两个事件只是这类对象所具有的行为。而且对于这两个行为的顺序没有强制要求。



面向过程

优点:性能高,因为类调用时需要实例化,开销比较大;比如单 片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。在程序较小的时候,面向过程就会体现出一种优势,其程序流程十分清楚。

缺点:没有面向对象易维护、易复用、易扩展

 

面向对象

优点:易维护、易复用、易扩展,支持封装、继承、多态性的特性,可以设计出低耦合的系统 缺点:性能低