|
|
@@ -0,0 +1,38 @@
|
|
|
+Reste sur le même fichier `03-classes.py`. Supprime les 3 dernières lignes et ajoute :
|
|
|
+
|
|
|
+```python
|
|
|
+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 :
|
|
|
+- Pas de mot-clé spécial comme `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.
|
|
|
+- On appelle le constructeur parent ainsi : `super().__init__(arg1, arg2, ...)` ou `arg1`, etc. sont les arguments attendus par le constructeur parent (hors `self`).
|