Exercice 18
1) classe Voiture
Créez une classe Voiture en Python avec les méthodes et attributs suivants :
- marque : (une chaîne de caractères)
- puissance_fiscale : (un entier)
- carburant : (une chaîne de caractères)
- Ajoutez un constructeur __init__ : qui initialise ces attributs.
- Ajoutez une méthode afficher_infos() : qui affiche les informations de la voiture (marque, puissance fiscale, carburant).
2) Classe Renault héritant de Voiture
Créez une classe Renault qui hérite de la classe Voiture.
Ajoutez un attribut supplémentaire à la classe Renault : modele (une chaîne de caractères)
Ajoutez un constructeur à la classe Renault : qui appelle le constructeur de la classe parente (Voiture) et initialise l'attribut modele.
Ajoutez une méthode afficher_modele() : à la classe Renault qui affiche le modèle de la voiture.
3) Getters et Setters
Modifiez la classe Voiture pour ajouter des méthodes get_<attribut> et set_<attribut> pour chaque attribut, permettant d'accéder et de modifier les attributs. Faites de même pour la classe Renault, en utilisant ces méthodes pour accéder et modifier les attributs hérités de la classe Voiture.
4) Test de l'Héritage
- Créez une instance de la classe Renault.
- Utilisez les méthodes pour afficher les informations et le modèle de la voiture, puis modifiez quelques attributs en utilisant les setters.
- Réaffichez les informations pour confirmer que les modifications ont été prises en compte.
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
class Voiture: def __init__(self, marque, puissance_fiscale, carburant): self.marque = marque self.puissance_fiscale = puissance_fiscale self.carburant = carburant def get_marque(self): return self.marque def set_marque(self, value): self.marque = value def get_puissance_fiscale(self): return self.puissance_fiscale def set_puissance_fiscale(self, value): self.puissance_fiscale = value def get_carburant(self): return self.carburant def set_carburant(self, value): self.carburant = value def afficher_infos(self): print(f"Marque: {self.marque}, Puissance Fiscale: {self.puissance_fiscale}, Carburant: {self.carburant}") class Renault(Voiture): def __init__(self, modele, puissance_fiscale, carburant): super().__init__("Renault", puissance_fiscale, carburant) self.modele = modele def get_modele(self): return self.modele def set_modele(self, value): self.modele = value def afficher_modele(self): print(f"Modèle: {self.get_modele()}") # Exemple d'utilisation renault_clio = Renault(modele="Clio", puissance_fiscale=4, carburant="Essence") # Utilisation des getters print(renault_clio.get_marque()) print(renault_clio.get_puissance_fiscale()) print(renault_clio.get_carburant()) print(renault_clio.get_modele()) # Utilisation des setters renault_clio.set_marque("Renault Updated") renault_clio.set_puissance_fiscale(5) renault_clio.set_carburant("Diesel") renault_clio.set_modele("Renault Capture") # Appel de la méthode de la classe mère (Voiture) renault_clio.afficher_infos() # Appel de la méthode spécifique à la classe Renault renault_clio.afficher_modele() """ output: Renault 4 Essence Clio Marque: Renault Updated, Puissance Fiscale: 5, Carburant: Diesel Modèle: Renault Capture """ |
Younes Derfoufi
CRMEF OUJDA