Exercices POO Méthode de classe
🎉

Bravo!

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

Méthode de classe

Une méthode de classe est liee a la classe elle-meme, pas a une instance particuliere. Elle recoit cls (la classe) comme premier paramètre au lieu de self (l'objet).

On la marque avec @classmethod. C'est souvent utilise pour créer des constructeurs alternatifs :

class Date:
def __init__(self, jour, mois, annee):
self.jour = jour
self.mois = mois
self.annee = annee

@classmethod
def depuis_chaine(cls, texte):
jour, mois, annee = texte.split('/')
return cls(int(jour), int(mois), int(annee))

d = Date.depuis_chaine('25/12/2025')
d.jour vaut 25

cls représente la classe elle-meme. Appeler cls(...) revient a appeler Date(...).

Crée une classe Cercle avec un attribut rayon. Ajoute :
- une méthode aire() qui renvoie 3.14159 * rayon * rayon
- une méthode de classe depuis_diametre(cls, diametre) qui crée un Cercle a partir du diametre (rayon = diametre / 2)

Exemple :
c = Cercle.depuis_diametre(10)
c.rayon vaut 5
c.aire() renvoie environ 78.54

Tests (3/4)

Aire rayon 5
c = Cercle(5)
assert abs(c.aire() - 78.53975) < 0.01
Depuis diametre
c = Cercle.depuis_diametre(10)
assert c.rayon == 5
Aire depuis diametre
c = Cercle.depuis_diametre(10)
assert abs(c.aire() - 78.53975) < 0.01

+ 0 tests cachés

Indices (3 disponibles)

solution.py