面向对象三大特性:
封装 / 继承 / 多态
1.封装:将数据进行封装到对象中,以供其他函数进行调用
class ags: def __init__(self,k1,k2,k3): self.k1=k1 self.k2=k2 self.k3=k3 def awe(arg): print(arg.k1) print(arg.k2) print(arg.k3) obj = ags(220,333,334) awe(obj) <<<220 333 334
2.继承:提高代码复用性
1.先在自己里面找,找不到再去找父级,父级找不到再找父级的父级依次进行查找
class foo: # 父类 基类 def f1(self): print(1) class fa(foo): # 子类 派生类 def f2(self): print(2) class fc(fa): def f3(self): # 子类 派生类 print(3) obj = fc() obj.f2() # 先从自己里面去找,找不到就往父级去找 <<<2 obj.f1() <<<1 obj.f3() <<<3
class foo: # 父类 基类 def f1(self): print(1) class fa: # 父类 基类 def f1(self): print(2) class fc(fa,foo): def f3(self): # 子类 派生类 print(3) obj = fc() obj.f1() <<<2
2.多继承只有python支持,其他不支持
多继承是先在自己里面找,找不到就按照括号里的顺序依次进行查找