IniziaInizia gratis

Aggiungere un costruttore alternativo

I metodi di classe sono un ottimo modo per offrire un'alternativa alla creazione di un oggetto da una classe, ad esempio da un file o accettando informazioni diverse ed eseguendo un'operazione durante la costruzione per restituire gli attributi richiesti.

In questo esercizio lavorerai con la classe Person. Il costruttore si aspetta un nome e un'età durante l'inizializzazione. Aggiungerai un metodo di classe che consente l'inizializzazione fornendo nome e anno di nascita, e il metodo calcolerà l'età a partire dall'anno di nascita.

Questo esercizio fa parte del corso

Introduzione alla programmazione orientata agli oggetti in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi il decorator di metodo di classe.
  • Definisci il metodo di classe from_birth_year(), che accetta tre argomenti: la parola convenzionale usata come argomento speciale che si riferisce alla classe, name e birth_year.
  • All'interno del metodo, crea la variabile age calcolando la differenza tra l'attributo di classe CURRENT_YEAR e birth_year.
  • Restituisci gli attributi name e age della classe.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice