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
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,nameebirth_year. - All'interno del metodo, crea la variabile
agecalcolando la differenza tra l'attributo di classeCURRENT_YEARebirth_year. - Restituisci gli attributi
nameeagedella 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)