Lägga till en alternativ konstruktor
Klassmetoder är ett utmärkt sätt att erbjuda ett alternativt sätt att skapa ett objekt från en klass – till exempel från en fil eller genom att ta emot annan information och utföra en beräkning under konstruktionen för att returnera de nödvändiga attributen.
I den här övningen arbetar du med klassen Person. Konstruktorn förväntar sig ett namn och en ålder vid initialisering. Du ska lägga till en klassmetod som möjliggör initialisering via namn och födelseår, där metoden sedan beräknar åldern utifrån födelseåret.
Den här övningen är en del av kursen
Introduktion till objektorienterad programmering i Python
Övningsinstruktioner
- Lägg till en klassmetoddekorator.
- Definiera klassmetoden
from_birth_year(), som tar tre argument: det konventionella nyckelordet som används som ett särskilt argument för att referera till klassen,nameochbirth_year. - Skapa variabeln
ageinuti metoden genom att beräkna skillnaden mellan klassattributetCURRENT_YEARochbirth_year. - Returnera klassens attribut
nameochage.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)