Pārlūkot izejas kodu

Add 4.4 inheritance

Benoît Hubert 7 gadi atpakaļ
vecāks
revīzija
7fd54ef57f

+ 1 - 1
react-tuto/src/markdown/4. Bases de Python/03. Classes et objets.md

@@ -8,7 +8,7 @@ class Vehicle:
     self.model = model
 
   def __str__(self):
-    return self.model + ' (speed: %d mph)' % (self.speed)
+    return self.model + ' (speed: %d km/h)' % (self.speed)
 
   def increase_spead(self, speed_increment):
     self.speed += speed_increment

+ 38 - 0
react-tuto/src/markdown/4. Bases de Python/04. Héritage.md

@@ -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`).

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 1 - 1
react-tuto/src/resources/markdown.json