Héritage orienté objet (2) Python (1)

Héritage unique

#所有类默认继承object
class Gun(object):
	def __init__(self,width):
		self.length = 100
		self.width = width
	def shoot(self):
		print('bang')
		
class Wuzi(Gun):
	pass

wuzi = Wuzi(3)

wuzi.shoot()
		

Comme indiqué dans l'exemple ci-dessus, Gun s'appelle la classe parente, Wuzi est la sous-classe, Wuzi hérite de Gun et hérite automatiquement des propriétés et des méthodes de la classe parente. À l'heure actuelle, une seule classe parente est écrite entre parenthèses après Wuzi, ce qui s'appelle l'héritage simple.

Héritage multiple

class Gun1(object):
	def __init__(self):
		self.length = 100
		
	def shoot(self):
		print('bang1')
		
class Gun2(object):
	def __init__(self):
		self.length = 200
		
	def shoot(self):
		print('bang2')
		
class Wuzi(Gun1,Gun2):
	pass

wuzi = Wuzi()

wuzi.shoot()

À ce stade, la sortie est bang1, c'est-à-dire:
lorsqu'une classe hérite de plusieurs classes parentes, les méthodes et propriétés du même nom de la première classe parente sont utilisées par défaut

La sous-classe remplace les propriétés et les méthodes de la classe parent avec le même nom

class Gun1(object):
	def __init__(self):
		self.length = 100
		
	def shoot(self):
		print('bang1')
		
class Gun2(object):
	def __init__(self):
		self.length = 200
		
	def shoot(self):
		print('bang2')
		
class Wuzi(Gun1,Gun2):
	def shoot(self):
		print('bang3')

wuzi = Wuzi()

wuzi.shoot()

La sortie à ce moment est bang3

Je suppose que tu aimes

Origine blog.csdn.net/weixin_48445640/article/details/108813537
conseillé
Classement