一、面向过程:
核心是过程,即流水线式的思维,也就是想想好解决什么问题,在解决什么问题
优点: 极大地降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可
缺点: 可扩展性低,一套流水线来解决一个问题,修改代码的时候,牵一发而动全身
应用场景: Linux内核、git、Apache、HTTP、Server等
二、面向对象:
核心是对象,即上帝式的思维,只要结果,不问过程
优点: 程序的可扩展性高,对某一个对象单独修改,会立刻反映到整个体系中
缺点: 可控性差,无法向面向对象一样很精准的预测问题的处理流程与结果。
应用场景: 经常需要变化的软件,一般集中在用户层、互联网应用、企业内部软件、游戏等
三、面向对象中需要了解的一些名词:
1、类:
具有相同特征的一类事物
2、对象/实例:
具体的某一个事物
3、实例化:
类→对象的过程
四、创建类和对象:
类就是一个模板,模板里可以包含多个函数,函数里实现一些功能
对象则是根据模板创建的实例,通过实例对象可以执行类中的函数
#创建类 class Foo: #class是关键字,表示要创建的类 Foo是类名称 #创建类中的函数 def Bar(self): #self是特殊参数,必须填 print('do something') #根据类Foo创建对象obj obj=Foo()
注意点:
1、class是关键字,表示类
2、创建对象,类名称后加括号即可
3、类中定义的函数叫做"方法"
#创建类 class Foo: def Bar(self): print('bar') def Hello(self,name): print(' I am %s'%name) #根据类Foo创建对象obj obj=Foo() obj.Bar() #执行Bar方法 obj.Hello('桢') #执行Hello方法
结果:
bar
I am is 桢
注意:
面向对象:【创建对象】 【通过对象执行方法】
函数编程:【执行函数】
总结; 函数式的应用场景→各个函数之间是独立且无共用的数据