定义一个类A, 里面又一个方法print_info
定义一个类B, 里边有一个方法print_info和一个方法say_something
定义一个类C, 里边有一个方法say_something
定义一个类D, 里边有一个方法print_info和一个方法say_something
定义一个类E,继承类A, 类B, 类C,类D
class A:
def print_info(self):
print("这是类A的print_info方法")
class B:
def print_info(self):
print("这是类B的print_info方法")
def say_something(self):
print("这是类B的say_something方法")
class C:
def say_something(self):
print("这是类C的print_info方法")
class D:
def print_info(self):
print("这是类D的print_info方法")
def say_something(self):
print("这是类D的say_something方法")
class E(A, B, C, D):
pass
实例化类E的对象 执行 print_info 和 say_something 方法
e = E() # 实例化类E的对象 # 执行print_info和say_something方法 e.print_info() e.say_something()
运行结果:
利用super,让执行print_info时调用 B 中print_info
class E(A, B, C, D):
def print_info(self):
super(A, self).print_info()
e = E()
e.print_info()
e.say_something()
运行结果:
利用super, 让执行say_something 时调用 C 中 say_something
class E(A, B, C, D):
def say_something(self):
super(B, self).say_something()
e = E()
e.print_info()
e.say_something()
运行结果:
利用super, 让执行print_info和say_something时调用 D 中 print_info 和say_something
class E(A, B, C, D):
def print_info(self):
super(C, self).print_info()
def say_something(self):
super(C, self).say_something()
e = E()
e.print_info()
e.say_something()
运行结果:



