Dodawanie alternatywnego konstruktora
Metody klasowe to świetny sposób na umożliwienie tworzenia obiektów z klasy w alternatywny sposób – na przykład na podstawie pliku lub innych danych wejściowych, z których metoda oblicza potrzebne atrybuty.
W tym ćwiczeniu pracujesz z klasą Person. Konstruktor oczekuje nazwy i wieku podczas inicjalizacji. Dodasz metodę klasową, która umożliwi inicjalizację na podstawie imienia i roku urodzenia – metoda samodzielnie obliczy wiek na podstawie podanego roku.
To ćwiczenie jest częścią kursu
Wprowadzenie do programowania obiektowego w Pythonie
Instrukcje do ćwiczenia
- Dodaj dekorator metody klasowej.
- Zdefiniuj metodę klasową
from_birth_year(), która przyjmuje trzy argumenty: konwencjonalne słowo używane jako specjalny argument odwołujący się do klasy,nameorazbirth_year. - Wewnątrz metody utwórz zmienną
age, obliczając różnicę między atrybutem klasowymCURRENT_YEARabirth_year. - Zwróć atrybuty
nameiageklasy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)