1、面向对象思想
1、面向过程
1、概念
按照事物的发展流程,第一步,第二步,第三步,一步步往下
2、优缺点
1、优点
简单,流水线式的
2、缺点
可扩展性差
2、面向对象
1、概念
对象:是属性和动作的集合体 事物-东西-对象
1、属性:对象的特性、特点
2、动作:对象能做什么
2、优缺点
1、优点
可扩展性好
2、缺点
编写相对复杂一点
2、面向对象如何编写
1、定义类
1、代码中的类,就相当于盖房子的图纸,或者汽车设计的图纸
2、写法
class 类名:
def __init__(self):
pass
def 普通方法名(self):
pass
2、构造方法
def __init__(self,属性1,属性2):
self.属性1 = 属性1
self.属性2 = 属性2
3、普通方法
def 普通方法名(self[,形参列表]):
pass
4、对象调方法
self:表示当前正在执行动作的对象
对象名 = 类名() #新建对象,自动调构造方法
对象名.方法名()
类名.方法名(对象名[,实际参数])
3、面向对象和面向过程的对比
都是设计思想,一般来说,简单的适合面向过程,复杂的适合面向对象
最终还是要结合不同的业务逻辑,来决定采用哪种思想
4、面向对象的三个特点
1、封装
把具有相同属性和功能的内容封装到一个对象中
狭义的理解:创建对象的时候,传入实际参数(就相当于把实参列表封装到了一个对象)
2、继承
子类可以继承父类除了私有属性外的其他所有内容
类比:现实中的,父亲和儿子
3、多态
同一个对象,可以拥有多种形态,python原生自带多态
比如:小明是学生,是人,是志愿者,不同的身份类型