Reste sur le même fichier 03-classes.py. Supprime les 3 dernières lignes et ajoute :
class Car(Vehicle):
wheels=4
def __init__(self, model, wheels=4):
super().__init__(model)
self.wheels = wheels
def __str__(self):
return self.model + ' (%d wheels, speed: %d km/h)' % (self.wheels, self.speed)
class Airplane(Vehicle):
wings=2
def __init__(self, model, wings=2):
super().__init__(model)
self.wings = wings
def __str__(self):
return self.model + ' (%d wings, speed: %d km/h)' % (self.wings, self.speed)
land_rover = Car('Land Rover')
land_rover.increase_spead(70)
hummer = Car('Hummer', 6)
hummer.increase_spead(110)
falcon = Airplane('Falcon 7X')
falcon.increase_spead(953)
print(land_rover)
print(hummer)
print(falcon)
Remarques :
extends pour déclarer qu'on hérite d'une classe : on met simplement le nom de la classe dont on hérite entre parenthèses, juste après le nom de la classe enfant.super().__init__(arg1, arg2, ...) ou arg1, etc. sont les arguments attendus par le constructeur parent (hors self).