面向对象与面向过程的区别

1. 面向过程pop(Process-oriented programming)

     主要的关注点是:实现的具体过程,因果关系。

      --  “面向过程”(是一种以事件为中心的编程思想)是以事件流程作为考虑问题的出发点,通过分析

           解决问题所需的步骤,然后利用函数将这些步骤实现,并按照顺序调用。

     * 优点:

              对于业务逻辑比较简单的程序,可以进行快速的开发,前期投资成本较低。性能方面比面向对象

  高,因为类调用的时候需要实例化,开销会比较大,比较消耗资源,因此诸如单片机、嵌入式开发、

  Linux/Unix等一般采用的是面向过程的开发,这些对性能的要求较高。

     * 缺点:

               采用面向过程的思想有时会难以解决复杂的业务逻辑性问题。而且由于软件元素之间的联系

        紧密,这就会导致软件元素之间的“耦合性”非常高,这就导致软件的扩展性以及可维护性变差,

        如若中间有环节出现问题,整个系统就会受到影响。另外由于没有“独立体”的概念,所以无法达

        到组件复用。

2.面向对象oop(Object Oriented Programming)

    主要的关注点是:对象(独立体)能够完成哪些过程。

    --“面向对象”(是以“对象”为中心的编程思想)是以参与该事件的角色(对象)作为考虑问题的出发点,

        在处理问题时可以更加灵活,在软件的开发过程中,通过面向对象来把握事物间复杂的关系,分析系统。

    *优点:

             可以更加容易的解决复杂的业务逻辑,由于软件元素之间的“耦合性”低,这就使得软件的扩展性

      以及可维护性得到增强,组件复用性强,这些都是由于面向对象的封装、继承和多态的特性

    *缺点:

             在解决问题时需要将其分为不同的对象,并进行大量的系统分析与设计,导致前期的投资较高。

 

 

—C语言是纯面向过程的语言,Java是纯面向对象的语言

— 从结构上说,面向过程的特点是模块化和流程化,面向对象的特点是封装、继承和多态。     

举例:盖浇饭(面向对象)与蛋炒饭(面向过程)

posted @ 2019-12-18 22:34  xing柠檬  阅读(446)  评论(0编辑  收藏  举报