Solution TP Python Exercice 23: classe Animal avec héritage

tp practice poo python

Exercice 23 || Solution

Partie 1 : Création de la classe de base Animal

Créez une classe Python nommée Animal qui servira de classe mère. Cette classe doit posséder les trois attributs suivants :

  • nom : une chaîne de caractères représentant le nom de l'animal.
  • age : un nombre entier représentant l'âge de l'animal en années.
  • espece : une chaîne de caractères indiquant l'espèce de l'animal (exemple : "Mammifère", "Oiseau", etc.).

La classe Animal doit inclure :

  1. Une méthode spéciale __init__(self, nom, age, espece) pour initialiser les trois attributs lors de la création d'un objet.
  2. Une méthode d'instance afficher_infos(self) qui affiche (avec print) les valeurs des attributs nom, age et espece dans un format clair et lisible.

Partie 2 : Héritage - Création de la classe Chien

Créez maintenant une nouvelle classe nommée Chien qui hérite de la classe Animal.

  1. La classe Chien doit ajouter un attribut supplémentaire propre à elle :
    • race : une chaîne de caractères spécifiant la race du chien (exemple : "Labrador", "Berger Allemand").
  2. Définissez le constructeur __init__(self, nom, age, espece, race) pour la classe Chien. Dans ce constructeur, vous devez appeler explicitement le constructeur de la classe mère (Animal) pour initialiser les attributs hérités (nom, age, espece), puis initialiser le nouvel attribut race.
  3. Ajoutez une méthode afficher_race(self) qui affiche la race du chien.

Partie 3 : Encapsulation - Getters et Setters

Afin de bien encapsuler les données et de contrôler l'accès aux attributs, vous allez implémenter des accesseurs (getters) et des mutateurs (setters) pour tous les attributs (y compris ceux hérités) de la classe Chien.

Pour chaque attribut (nom, age, espece, race), vous devez créer :

  1. Une méthode getter (exemple : get_nom(self)) qui retourne la valeur de l'attribut.
  2. Une méthode setter (exemple : set_nom(self, nouvelle_valeur)) qui permet de modifier la valeur de l'attribut.

Partie 4 : Test du programme

Dans la partie principale de votre script (if __name__ == "__main__":), testez l'ensemble de vos classes en suivant ces étapes :

  1. Instanciation : Créez un objet de la classe Chien en fournissant des valeurs initiales pour son nom, son âge, son espèce et sa race.
  2. Affichage initial : Utilisez les méthodes afficher_infos() et afficher_race() pour afficher toutes les informations de ce chien.
  3. Modification : Utilisez les setters que vous avez créés pour :
    • Modifier l'âge du chien.
    • Modifier la race du chien.
  4. Affichage final : Affichez à nouveau les informations complètes du chien (en utilisant afficher_infos() et afficher_race()) pour vérifier que les modifications ont bien été prises en compte.

Solution

 

Younes Derfoufi CRMEF OUJDA

Leave a Reply

Your email address will not be published. Required fields are marked *