美文网首页Python全栈
22.Python之面向过程与面向对象

22.Python之面向过程与面向对象

作者: 免跪姓黄 | 来源:发表于2020-03-01 14:01 被阅读0次

    面向过程的编程思想

    1. 面向过程的编程思想是按照步骤解决问题,即先干什么,后干什么。基于该思想编写程序,就好比编写一条流水线,是一种机械式思维方式,多用于运维。
    2. 优点:复杂的问题流程化,进而简单化;
    3. 缺点:修改一个步骤,其他步骤都有可能做出修改,牵一发而动全身,扩展性极差。
    4. 应用场景:应用于扩展性要求低的场景

    面向对象的编程思想

    1. 面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象。面向对象程序设计以对象为核心,该方法认为程序由一系列对象组成。类是对现实世界的抽象,包括表示静态属性的数据和对数据的操作,对象是类的实例化。对象间通过消息传递相互通信,来模拟现实世界中不同实体间的联系。在面向对象的程序设计中,对象是组成程序的基本模块。

    2. 优点:
      解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易。

    3. 缺点:

      • 编程的复杂度远高于面向过程,不了解面向对象而立即上手基于它设计程序,极容易出现过度设计的问题。一些扩展性要求低的场景使用面向对象会徒增编程难度,比如管理Linux系统的Shell脚本就不适合用面向对象去设计,面向过程反而更加适合。
      • 无法向面向过程的程序设计流水线式的可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的交互解决问题,最终结果就无法进行准确地预测。于是我们经常看到对战类游戏,新增一个游戏人物,在对战的过程中极容易出现阴霸的技能,一刀砍死3个人,这种情况是无法准确预知的,只有对象之间交互才能准确地知道最终的结果。
    4. 应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方。面向对象的程序设计并不是全部。对于一个软件质量来说,面向对象的程序设计只是用来解决扩展性。

    相关文章

      网友评论

        本文标题:22.Python之面向过程与面向对象

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