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