Python Grundlagen: Objektorientierte Programmierung (OOP)
Python-Grundlagen: Objektorientierte Programmierung (OOP)
Lesson 2 of 7 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
Sobald du eine Klasse definiert hast, kannst du sie zum Leben erwecken, indem du Objekte davon erstellst.
Denk daran: Eine Klasse ist nur eine Vorlage — sie enthält keine echten Daten, bis du ein Objekt (auch Instanz genannt) basierend darauf erstellst.
So erstellst du ein Objekt
Um ein Objekt aus einer Klasse zu erstellen, rufst du den Klassennamen wie eine Funktion auf und übergibst dabei alle erforderlichen Parameter für dessen __init__-Methode.
Beispiel:
person1 = Person("John", 30)
So läuft es Schritt für Schritt ab:
- Python sieht
Person("John", 30)und ruft die__init__-Methode der KlassePersonauf. "John"wird dem Attributnamezugewiesen, und30wird dem Attributagefür dieses spezifische Objekt zugewiesen.- Ein neues Objekt wird erstellt und in der Variablen
person1gespeichert.
TIPP: Die Variable `person1` ist nur ein Verweis auf das Objekt im Speicher — du kannst mehrere Variablen haben, die auf dasselbe Objekt zeigen, wenn nötig.
Zugriff auf Attribute und Methoden
Sobald du ein Objekt hast, kannst du auf seine Attribute (Daten) und Methoden (Aktionen) mit der Punktnotation zugreifen.
Beispiel:
print(person1.name) # Ausgabe: John
person1.greet() # Ausgabe: Hello, my name is John and I am 30 years old.
person1.nameholt den Wert des Attributsname, das im Objekt gespeichert ist.person1.greet()ruft die Methodegreetauf, die die Attribute des Objekts verwendet, um eine personalisierte Nachricht anzuzeigen.
WICHTIG!: Beim Aufruf einer Methode musst du Klammern () verwenden — andernfalls verweist du nur auf die Methode, führst sie aber nicht aus.
Mehrere Objekte erstellen
Eine Stärke von Klassen besteht darin, dass du so viele Objekte daraus erstellen kannst, wie du möchtest, jedes mit eigenen individuellen Daten.
Beispiel:
person2 = Person("Alice", 25)
print(person2.name) # Ausgabe: Alice
person2.greet() # Ausgabe: Hello, my name is Alice and I am 25 years old.
Hier:
person1undperson2sind beidePerson-Objekte, aber jedes hat seinen eigenen Zustand (name- undage-Werte).- Methoden wie
greet()funktionieren für beide Objekte gleich, liefern aber unterschiedliche Ergebnisse basierend auf ihren Attributen.
Zusammenfassung
Objekte zu erstellen ist der Weg, wie du deine Klassen zum Leben erweckst. Aus einer einzigen Vorlage kannst du viele einzigartige Instanzen erstellen, die jeweils ihre eigenen Daten tragen, aber dieselbe Menge von Verhaltensweisen teilen.
In der nächsten Lektion werden wir Vererbung erkunden — einen Weg, um neue Klassen basierend auf bestehenden zu erstellen, deren Funktionalität wiederzuverwenden und zu erweitern.