Éviter la répétition avec l'héritage - Docstring

Dans cet exercice, vous devez simplifier le code grâce à l'héritage.

En effet, dans l'état actuel du script, on répète plusieurs fois les informations de nom et prenom de nos personnages.

Ça fonctionne, mais ce n'est pas très efficace.

Vous devez donc créer une classe Personnage dont vont hériter les classes Magicien, Gobelin et Chevalier.

Cette classe Personnage devra définir les attributs nom et prenom qui sont communs aux trois classes.

Vous ne devez pas toucher à l'attribut puissance des classes Magicien, Gobelin et Chevalier.

Ces trois classes devront donc avoir un attribut puissance égal respectivement à 80, 20 et 70.

class Magicien:
    def __init__(self, prenom, nom):
        self.prenom = prenom
        self.nom = nom
        self.puissance = 80


class Gobelin:
    def __init__(self, prenom, nom):
        self.prenom = prenom
        self.nom = nom
        self.puissance = 20


class Chevalier:
    def __init__(self, prenom, nom):
        self.prenom = prenom
        self.nom = nom
        self.puissance = 70
Un instant...

Test de la classe personnage et de ses attributs

La classe Personnage doit permettre d'initialiser deux attributs prenom et nom.

Test de l'héritage de la classe Magicien

La classe Magicien doit hériter de la classe Personnage et initialiser les attributs prenom et nom.

Test de l'héritage de la classe Gobelin

La classe Gobelin doit hériter de la classe Personnage et initialiser les attributs prenom et nom.

Test de l'héritage de la classe Chevalier

La classe Chevalier doit hériter de la classe Personnage et initialiser les attributs prenom et nom.

Test de l'attribut puissance de la classe Magicien

La classe Magicien doit posséder un attribut puissance égal à 80.

Test de l'attribut puissance de la classe Gobelin

La classe Gobelin doit posséder un attribut puissance égal à 20.

Test de l'attribut puissance de la classe Chevalier

La classe Chevalier doit posséder un attribut puissance égal à 70.

Bravo, tu as réussi cet exercice de code 🥳

Succès

Soumettre ma solution

Vous avez trouvé une solution alternative pour cet exercice ? Proposez votre solution à la communauté 👇

Seules les propositions différentes de la solution proposée par Docstring peuvent être envoyées.

Ma solution :

Mes notes

Sauvegardé

Passages surlignés

Besoin d'aide ?

Essaie d'être le plus exhaustif possible en donnant suffisamment de détails pour qu'on puisse te répondre du premier coup 😉

Tu souhaites nous remonter un bug ? Utilise-plutôt ce formulaire.

Cette fonctionnalité est réservée aux membres de la formule accompagnement de Docstring.

Aucun résultat.

Un problème sur le site ?

Aide-nous à améliorer Docstring en nous signalant un problème que tu as rencontré.

Que ce soit un bug sur une fonctionnalité ou une erreur dans une formation, on va pouvoir le corriger rapidement 😉

Page concernée

M'avertir par e-mail

Je veux être averti par e-mail lorsque ce bug est corrigé.