Adăugarea unui constructor alternativ
Class metodele sunt o modalitate excelentă de a permite crearea unui obiect dintr-o clasă într-un mod alternativ – de exemplu, dintr-un fișier sau acceptând informații diferite și efectuând un calcul în timpul construcției pentru a returna atributele necesare.
În acest exercițiu, vei lucra cu clasa Person. Constructorul așteaptă un nume și o vârstă la inițializare. Vei adăuga un class method care permite inițializarea prin furnizarea numelui și a anului nașterii, iar metoda va calcula vârsta pe baza anului nașterii.
Acest exercițiu face parte din cursul
Introducere în Programarea Orientată pe Obiecte în Python
Instrucțiuni pentru exercițiu
- Adaugă decoratorul pentru class method.
- Definește class metoda
from_birth_year(), care acceptă trei argumente: cuvântul convențional folosit ca argument special pentru referirea la clasă,nameșibirth_year. - În interiorul metodei, creează variabila
agecalculând diferența dintre atributul de clasăCURRENT_YEARșibirth_year. - Returnează atributele
nameșiageale clasei.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)