LoslegenKostenlos starten

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

<Kurs>Einführung in objektorientierte Programmierung in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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, name und birth_year.
  • Erzeuge innerhalb der Methode die Variable age, indem du die Differenz zwischen dem Klassenattribut CURRENT_YEAR und birth_year berechnest.
  • Gib die Attribute name und age der Klasse zurück.

Interaktive praktische Ü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)
Code bearbeiten und ausführen