Einen alternativen Konstruktor hinzufügen
Klassenmethoden sind eine großartige Möglichkeit, Objekte auf alternative Weise aus einer Klasse heraus zu erstellen, zum Beispiel aus einer Datei oder indem unterschiedliche Informationen entgegengenommen und während der Konstruktion verarbeitet werden, um die benötigten Attribute zu liefern.
In dieser Übung arbeitest du mit der Klasse Person. Der Konstruktor erwartet bei der Initialisierung einen Namen und ein Alter. Du fügst eine Klassenmethode hinzu, die die Initialisierung über Name und Geburtsjahr erlaubt; die Methode berechnet dann das Alter aus dem Geburtsjahr.
Diese Übung ist Teil des Kurses
Einführung in objektorientierte Programmierung in Python
Anleitung zur Übung
- Füge einen Klassenmethoden-Dekorator hinzu.
- Definiere die Klassenmethode
from_birth_year(), die drei Argumente akzeptiert: das übliche Wort als spezielles Argument, das auf die Klasse verweist,nameundbirth_year. - Erzeuge innerhalb der Methode die Variable
age, indem du die Differenz zwischen dem KlassenattributCURRENT_YEARundbirth_yearberechnest. - Gib die Attribute
nameundageder Klasse zurück.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)