Klassen und Attribute: Warum ist das so wichtig?
Mein Kollege Jonas meinte mal: "Denk an eine Klasse wie eine Bauanleitung für Objekte. Attribute sind die Eigenschaften, die jedes Objekt haben kann." Und plötzlich machte alles Sinn!
Also, wenn du dich fragst, was Attribute sind und wie sie funktionieren, dann bist du hier genau richtig.
Was genau sind Attribute in einer Klasse?
Attribute = Eigenschaften eines Objekts
Stell dir vor, du programmierst eine Klasse "Auto". Jedes Auto hat Eigenschaften wie:
- Farbe
- Marke
- PS (Motorleistung)
- Baujahr
Diese Eigenschaften werden als Attribute innerhalb einer Klasse gespeichert. Jedes Auto (Objekt) kann dann individuelle Werte für diese Attribute haben.
Einfach gesagt: Attribute speichern den Zustand eines Objekts.
Unterschied zwischen Instanzattributen und Klassenattributen
Hier kommt oft Verwirrung auf: Es gibt zwei Arten von Attributen in einer Klasse.
1⃣ Instanzattribute (Objektgebunden)
Das sind die normalen Attribute, die jedes Objekt individuell besitzt.
Beispiel in Python:
pythonclass Auto: def __init__(self, farbe, marke): self.farbe = farbe self.marke = markemein_auto = Auto("Rot", "BMW")dein_auto = Auto("Blau", "Audi")
mein_auto.farbe ist "Rot", aber dein_auto.farbe ist "Blau" – das zeigt, dass jedes Objekt seine eigenen Werte hat.
2⃣ Klassenattribute (für die ganze Klasse)
Diese Attribute sind für alle Objekte der Klasse gleich.
Beispiel:
pythonclass Auto: räder = 4 # Klassenattribut
Egal wie viele Autos du erstellst, sie haben immer 4 Räder!
**Instanzattribute sind individuell, Klassenattribute gelten für alle
