十二. python面向对象主动调用其他类

一 .python面向对象主动调用其他类成员 (看代码)

 主动调用  其他类的成员

# 没有继承 的主动调用
class Grad(object):
    bar=555555
    def __init__(self,num):
          self.num=num
    def aa(self):
        print("相当的99999999999999999S")
class Son():
    def aa(self):
        Grad.aa(self)
        print("相当的6666666666666666666")

b=Son()
b.aa()
# 相当的99999999999999999S
# 相当的6666666666666666666

print("****************************************************************************888")
# 继承 主动调用其他类 class Grad(object): bar=555555 def __init__(self,num): self.num=num def aa(self): print("相当的99999999999999999S") class Son(Grad): def aa(self): Grad.aa(self) print("相当的6666666666666666666") b=Son(1) b.aa() # 相当的99999999999999999S # 相当的6666666666666666666
print("****************************************************************************888")
# 继承 主动调用其他类 class Grad(object): bar=555555 def __init__(self,num): self.num=num def aa(self): print("相当的99999999999999999S") class Son(Grad): def aa(self): Grad.aa(b) # 不建议 传对象 最好传self print("相当的6666666666666666666") b=Son(1) b.aa() print("****************************************************************************888")
# 继承 使用 super 主动调用其他方法 class Grad(object): bar=555555 def __init__(self,num): self.num=num def aa(self): print("啊啦啦啦啦啦啦啦啦啦") class Son(Grad): def aa(self): print("相当的6666666666666666666") super().aa() b=Son(1) b.aa() print(b.num) # 相当的6666666666666666666 # 啊啦啦啦啦啦啦啦啦啦 # 1

print("****************************************************************************888") # 继承 使用 super 主动调用其他方法 父类和子类方方法名相同 默认是先调用子类 使用super 可以直接调用父类 是按照继承顺序来找的 class Grad(object): bar=555555 def __init__(self,num): self.num=num def aa(self): print("啊啦啦啦啦啦啦啦啦啦") class Son(Grad): def aa(self): print("相当的6666666666666666666") b=Son(1) b.aa() c=super(Son,b) c.aa() # 相当的6666666666666666666 # 啊啦啦啦啦啦啦啦啦啦

猜你喜欢

转载自www.cnblogs.com/Sup-to/p/11062174.html