CommencezCommencez gratuitement

Ajouter un constructeur alternatif

Les méthodes de classe sont un excellent moyen d'offrir une autre façon de créer un objet à partir d'une classe, par exemple à partir d'un fichier ou en acceptant des renseignements différents et en effectuant une tâche pendant la construction pour retourner les attributs requis.

Dans cet exercice, vous allez travailler avec la classe Person. Le constructeur s'attend à recevoir un nom et un âge lors de l'initialisation. Vous ajouterez une méthode de classe qui permet l'initialisation en fournissant le nom et l'année de naissance; la méthode calculera ensuite l'âge à partir de l'année de naissance.

Cette activité fait partie du cours

Introduction à la programmation orientée objet en Python

Voir le cours

Instructions de l’exercice

  • Ajoutez un décorateur de méthode de classe.
  • Définissez la méthode de classe from_birth_year(), qui accepte trois arguments : le mot conventionnel utilisé comme argument spécial pour référer à la classe, name et birth_year.
  • À l'intérieur de la méthode, créez la variable age en calculant la différence entre l'attribut de classe CURRENT_YEAR et birth_year.
  • Retournez les attributs name et age de la classe.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code