美文网首页
001 面向过程 vs 面向对象

001 面向过程 vs 面向对象

作者: 猿笔记 | 来源:发表于2020-07-21 08:12 被阅读0次

定义

  • 面向过程:一种以事件为中心的编程思想
  • 面向对象:一种以“对象”为中心的编程思想

面向过程

  编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按顺序调用函数。

    • 举例:下五子棋
      面向过程的解法:
      第一步:开始游戏 第二步:黑子先走
      第三步:绘制画面 第四步:判断输赢
      第五步:轮到白子 第六步:绘制画面
      第七步:判断输赢 第八步:返回步骤(2) 第九步:输出最后结果
下五子棋{
  开始游戏();
  黑子先走();
  绘制画面();
  判断输赢();
  轮到白子();
  绘制画面();
  判断输赢();
  返回到 黑子先走();
  输出最后结果;
}

核心点:分而治之、关注过程

面向对象

  把要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个对象在整个解决问题的步骤中的属性和行为

    • 举例:下五子棋
      面向对象的解法:
      第一步:
      将整个五子棋游戏分为三个对象:
      (1)黑白双方,这两方的行为是一样的
      (2)棋盘系统,负责绘制画面
      (3)规则系统,负责判定犯规、输赢等
      第二步:
      赋予每个对象一些属性和行为:
        第一类对象(黑白双方)负责接受用户输入,并告知第二类对象(棋盘系统)棋子布局的变化,棋盘系统接收到了棋子的变化,并负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定
      核心点:建模对象、行为通讯

优缺点比较

面向过程【面向简单问题】

优点:

    • 流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果,具体步骤清楚,便于节点分析
    • 效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率的程序

缺点:

    • 需要深入的思考,耗费精力,代码重用性低,扩展能力差,后期维护难度比较大

面向对象【面向复杂问题】

优点:

    • 结构清晰,程序是模块化和结构化,更加符合人类的思维方式
    • 易扩展,代码重用率高,可继承,可覆盖,可以设计出低耦合的系统
    • 易维护,系统低耦合的特点有利于减少程序的后期维护工作量

缺点:

    • 开销大,当要修改对象内部时,对象的属性不允许外部直接存取,所以要增加许多没有其他意义、只负责读或写的行为。这会为编程工作增加负担,增加运行开销,并且使程序显得臃肿
    • 性能低,由于面向更高的逻辑抽象层,使得面向对象在实现的时候,不得不做出性能上面的牺牲,计算时间和空间存储大小都开销很大

相关文章

  • 001 面向过程 vs 面向对象

    定义 面向过程:一种以事件为中心的编程思想 面向对象:一种以“对象”为中心的编程思想 面向过程   编程的时候把解...

  • Android IOS开发要理解何为面向对象的思维

    何为面向对象的思维? 面向对象 VS面向过程 OOP =》面向对象,全称Object Oriented Progr...

  • Python基础-OOP

    OOP 思想以模块化思想解决工程问题面向过程 VS 面向对象由面向过程转向面向对象 常用名词OO:面向对象OOA:...

  • python面向对象!

    python全栈开发,初识面向对象 面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程...

  • Python干货:一片博文把 面向对象 安排的明明白白

    Python面向对象编程是一门思想: 面向过程 VS 面向对象 Python面向过程的程序设计的核心是过程(流水线...

  • Python中的面向对象以及类

    面向过程 VS 面向对象 面向过程 面向过程的程序设计思想是过程,也就是流程式编程思想.C语言就是面向过程的,它就...

  • 面向过程 vs 面向对象

    面向过程: 吃.(我,饭)面向对象: 我.吃(饭)

  • Python面向对象编程

    面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好...

  • 十六、面向对象VS面向过程

    在所有的计算机编程语言中,其思想大致分为两种:面向对象和面向过程。那么,两者有什么区别呢?今天我们来聊一聊。首先,...

  • 06 - 面向过程 VS 面向对象

    编程范式中,除了面向对象之外,被大家熟知的编程范式还有另外两种,面向过程编程和函数式编程。面向过程这种编程范式随着...

网友评论

      本文标题:001 面向过程 vs 面向对象

      本文链接:https://www.haomeiwen.com/subject/tgubkktx.html