Python3-初识别面向对象

面向过程 VS 面向对象 

面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。

优点:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。

缺点:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身。

应用场景:一旦完成基本很少改变的场景,著名的例子有linux内核,git,以及apache http server等。

面向对象的程序设计的核心是对象(上帝思维模式),利用“类”和“对象”来创建各种模型来实现对真实世界的描述。

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

缺点:可控性差,无法像面向过程的程序设计流水线式可以很精确的预测问题的处理流程和结果,面向对象的程序一旦开始就由对象之间的交互解决问题即便是上帝也无法预测最终结果。于是我们经常看到一个游戏人某一参数的修改极有可能导致阴霸的技能出现,一刀砍死3个人,这个游戏就失去平衡。

应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方。

 

猜你喜欢

转载自www.cnblogs.com/Xuuuuuu/p/10261194.html