Exercices POO Classe abstraite
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Classe abstraite

Une classe abstraite est un modèle qu'on ne peut pas instancier directement. Elle sert de contrat : elle dit "toute classe qui herite de moi DOIT implémenter telle méthode".

C'est comme un formulaire a remplir : le formulaire definit les champs obligatoires, mais c'est a chaque personne de les remplir avec ses propres informations.

En Python, on utilise ABC (Abstract Base Class) et @abstractmethod du module abc.

Exemple :

from abc import ABC, abstractmethod

class Instrument(ABC):
@abstractmethod
def jouer(self):
pass

class Guitare(Instrument):
def jouer(self):
return 'Bling bling'

# Instrument() leveait TypeError, impossible a créer directement
g = Guitare()
print(g.jouer()) # Bling bling

Crée une classe abstraite Forme avec une méthode abstraite aire().
Puis Cercle(rayon) et Carre(cote) qui implementent aire().

Rappel : aire du cercle = pi * rayon au carre, aire du carre = cote au carre.

Exemple :
Cercle(5).aire() renvoie environ 78.54
Carre(4).aire() renvoie 16

Tests (2/4)

Cercle
import math
assert abs(Cercle(5).aire() - math.pi * 25) < 0.01
Carré
assert Carre(4).aire() == 16

+ 0 tests cachés

Indices (3 disponibles)

solution.py