Ajout d'un constructeur alternatif
Les méthodes de classe sont un excellent moyen de créer un objet à partir d'une classe, par exemple à l'aide d'un fichier ou en acceptant différentes informations et en effectuant une tâche pendant la construction pour renvoyer les attributs requis.
Dans cet exercice, vous travaillerez avec la classe Person
. Le constructeur attend un nom et un âge lors de l'initialisation. Vous allez ajouter une méthode de classe qui permet l'initialisation en fournissant le nom et l'année de naissance, la méthode calculant ensuite l'âge à partir de l'année de naissance.
Cet exercice fait partie du cours
Introduction à la programmation orientée objet en Python
Instructions
- Ajoutez un décorateur de méthode de classe.
- Définissez la méthode de la classe
from_birth_year()
, qui accepte trois arguments : le mot conventionnel utilisé comme argument spécial se référant à la classe,name
, etbirth_year
. - Dans la méthode, créez la variable
age
en calculant la différence entre l'attribut de classeCURRENT_YEAR
etbirth_year
. - Retourne les attributs
name
etage
de la classe.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
class Person:
CURRENT_YEAR = 2024
def __init__(self, name, age):
self.name = name
self.age = age
# Add a class method decorator
____
# Define the from_birth_year method
def ____(____, ____, ____):
# Create age
age = ____.____ - ____
# Return the name and age
return ____(____, ____)
bob = Person.from_birth_year("Bob", 1990)