Hinzufügen eines alternativen Konstruktors
Klassenmethoden sind eine großartige Möglichkeit, um ein Objekt aus einer Klasse zu erstellen, z. B. durch eine Datei oder durch die Annahme verschiedener Informationen und die Durchführung einer Aufgabe während der Konstruktion, um die erforderlichen Attribute zurückzugeben.
In dieser Übung wirst du mit der Klasse Person
arbeiten. Der Konstruktor erwartet bei der Initialisierung einen Namen und ein Alter. Du fügst eine Klassenmethode hinzu, die eine Initialisierung durch die Angabe von Name und Geburtsjahr ermöglicht, wobei die Methode dann das Alter aus dem Geburtsjahr berechnet.
Diese Übung ist Teil des Kurses
Einführung in die objektorientierte Programmierung in Python
Anleitung zur Übung
- Füge einen Klassenmethoden-Dekorator hinzu.
- Definiere die Klassenmethode
from_birth_year()
, die drei Argumente akzeptiert: das herkömmliche Wort, das als spezielles Argument verwendet wird und sich auf die Klasse bezieht,name
undbirth_year
. - Erstelle innerhalb der Methode die Variable
age
, indem du die Differenz zwischen dem KlassenattributCURRENT_YEAR
undbirth_year
berechnest. - Gib die Attribute
name
undage
der Klasse zurück.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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)