LoslegenKostenlos loslegen

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

Kurs anzeigen

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