1、面向对象和面向过程
面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。
面向过程特点:
优点:把复杂的问题流程化,简单化,比较容易想,可扩展性弱,处理单一关系代码量小
应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等。
面向对象特点:
优点:可扩展性强(可增加新的方法)
缺点:可控性差(无法预测结果)
处理复杂的关系,代码多,面向对象编程可以使程序的维护和扩展变得更简单,并且可以大大提高程序开发效率
应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方。
初识类和对象:
类:具有相同特征的一类事物(人、狗、老虎)
对象/实例:具体的某一个事物(隔壁阿花、楼下旺财)
实例化:类——>对象的过程
在python中,用变量表示特征,用函数表示技能,因而具有相同特征和技能的一类事物就是‘类’,对象是则是这一类事物中具体的一个。
类:
def functionName(args): '函数文档字符串' 函数体