Python orientado a objetos (2) - herança (3)

super () chama a classe pai

A seção anterior introduziu um método complexo de chamar a classe pai. Agora, vamos introduzir um método simples de chamar a classe pai. Mudaremos o código anterior para herança multicamadas, e cada classe herda apenas uma classe pai.

class Gun(object):
	def __init__(self):
		self.length = 100
		
	def shoot(self):
		print('bang1')
		
class Wuzi(Gun):
	def shoot(self):
		# 注意这里要先初始化自己,这样可以避免调用父类方法后再调用自己的方法时,还是父类的方法输出
		super().__init__()
		super().shoot()
		
	
class XiaoWuzi(Wuzi):
	def shoot(self):
		super().__init__()
		super().shoot()

wuzi = XiaoWuzi()

wuzi.shoot()

Neste momento, a saída é bang1, pode-se ver que a rotina do método super () também é inicializada primeiro, e python seguirá a ordem __mro__ para encontrar a classe pai para herdar o método correspondente

Acho que você gosta

Origin blog.csdn.net/weixin_48445640/article/details/108814887
Recomendado
Clasificación