面向对象和面向过程

面向对象和面向过程

本质

  • 面向过程:分析出解决问题所需的步骤,然后用函数把这些步骤实现,依次调用,实现特定功能;
  • 面向对象:把构成问题的事务按功能来分解成各个对象,指派对象们来实现特定功能;

优缺点

面向过程:

  • 优点:性能高(面向对象中 类调用时需要实例化,开销比较大,比较消耗资源)使用场景:单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发,性能是最重要的因素。
  • 缺点:不便于 维护、复用、扩展。

面向对象:

  • 优点: 便于维护、复用 、扩展。由于面向对象有 封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。
  • 缺点:性能低(相对面向过程)

示例说明:

  1. 国家系统
    部落制度 - 面向过程;
    三省六部 - 面向对象;
    部落制度: 部落主带领部民一项一项地完成任务,没有明确分工和职责;(相较于后来的国家体系)
    三省六部: 按功能划分;各司其职 ;一起来维持国家的运作;缺点:需要庞大的官员数量,占用资源;优点:每个部门都可以自行优化,系统分明,条例清晰,便于管理。
  2. 蛋炒饭 和 盖浇饭
    蛋炒饭 - 面向过程
    盖浇饭 - 面向对象
    蛋炒饭 高耦合 蛋饭难分,换了需求要重新炒;
    盖浇饭 低耦合 菜饭分离,便于随意搭配;

你可能感兴趣的:(面向对象和面向过程)