Imagine tu codes un jeu vidéo.
Tu as Guerrier, Mage, Voleur.
Ils ont tous un nom, une vie, et peuvent marcher.
Tu ne vas pas réécrire le code 3 fois !
Tu crées une classe parente Personnage, et les autres Héritent d'elle.
class Personnage:
def __init__(self, nom):
self.nom = nom
self.vie = 100
def marcher(self):
print(f"{self.nom} marche.")
# Guerrier HERITE de Personnage
class Guerrier(Personnage):
def attaquer(self):
print("COUP D'EPEE !")
class Mage(Personnage):
def lancer_sort(self):
print("BOULE DE FEU !")
conan = Guerrier("Conan")
conan.marcher() # Ça marche ! Il a hérité de la méthode
conan.attaquer() # Ça marche aussi
gandalf = Mage("Gandalf")
gandalf.marcher()
# gandalf.attaquer() -> ERREUR (Le mage ne sait pas attaquer à l'épée)