1、编程的复杂性远高于面向过程。如果不了解面向对象,可以立即启动基于设计程序,很容易出现过度设计的问题。

在一些扩展性要求较低的场景中,使用面向对象会增加编程难度。比如管理linux系统的shell脚本不适合用面向对象设计,面向过程更适合。

2、无法面向过程的程序设计流水线可以准确预测问题的处理过程和结果。

面向对象的程序一旦开始,对象之间的交互就会解决问题,甚至上帝也无法准确预测最终结果。所以我们经常看到战斗类游戏,增加一个游戏角色,在战斗过程中很容易出现阴霸的技能,一刀砍死三个人,这种情况是无法准确预测的,只有对象之间的互动才能准确地知道最终的结果。

#创建具体的对象,该对象的具体特征和功能。

#这就是Python中面向对象编程,通过定义类对一类事物的特征和功能进行整合,然后在通过对象具体到某一个事物的具体特征和功能。