Exercices›POO›ABC avec méthodes concretes et abstraites
🎉
Bravo!
Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
ABC avec méthodes concretes et abstraites
Une classe abstraite peut aussi avoir des méthodes concretes (non abstraites). Ces méthodes sont heritees par les sous-classes sans avoir besoin de les reimplémenter. Seules les méthodes marquees @abstractmethod doivent etre implementees.
C'est tres utile pour factoriser du code commun. Par exemple, une classe Forme abstraite pourrait avoir une méthode concrete description() qui utilise la méthode abstraite aire() :
class Forme(ABC): @abstractmethod def aire(self): pass def description(self): return f'Forme avec aire = {self.aire()}'
Écris une classe abstraite Vehicule avec : un __init__ qui prend marque et vitesse_max une méthode abstraite type_vehicule() qui renvoie le type une méthode concrete fiche() qui renvoie 'MARQUE - TYPE (MAX km/h)'
Puis ecris Voiture (type 'Voiture') et Moto (type 'Moto').
Exemple : v = Voiture('Renault', 180) v.fiche() renvoie 'Renault - Voiture (180 km/h)'