Ein Beispiel: die Klasse Hund
Auch in unserem Alltag lassen sich schnell Kategorisierungen in Klassen finden, auch wenn wir sie häufig nicht als Klassen bezeichnen!
Es gibt zum Beispiel viele verschiedene Hunderassen, die - biologisch gesprochen - alle einen ähnlichen genetischen Bauplan haben.
So hat die Klasse HUND verschiedene Attribute, in denen sich die Objekte der Klasse, also die konkreten Hunde, unterscheiden. Attribute sind Eigenschaften oder Merkmale, wie zum Beispiel

- die Rasse
- der Name
- die Fellfarbe
- das Alter
- die Größe
- und vieles mehr...
Diese Attribute legst du in der Klasse an, aber die Werte für diese Attribute legst du erst fest, wenn du ein konkretes Objekt der Klasse erzeugst. Denn die Attributwerte sind ja für jedes konkrete Objekt unterschiedlich.
Der eine Hund gehört der Rasse Dackel an, ein anderer der Rasse Labrador. Ein Labrador kann die Fellfarbe schwarz haben, während ein anderer die Fellfarbe braun hat. Einer ist 3 Jahre alt, ein anderer 5 Jahre.
Neben den Attributen definierst du in der Klasse bestimmte Methoden. Dies sind Aktionen, die Objekte der Klasse ausführen können. Beispiele sind etwa die Methoden
- BeiFuß()
- Bellen()
- Rennen(Distanz)
- Bringen(Gegenstand)
- und so weiter...
Um alle Informationen über eine Klasse kompakt und übersichtlich darzustellen, gibt es die Klassenkarte.
Wenn du wissen willst, was der Unterschied zwischen Klasse und Objekt genau ist, schau die den Artikel über Objekte an...
Und was nutzt die Einteilung in Klassen?
Zum einen hilft dir das Denken in Klassen, deine Umwelt zu strukturieren. Das machst du im Alltag häufig automatisch. Als du noch klein warst, hast du zum Beispiel ein Tier gesehen, dir die Merkmale genau angesehen und dann irgendwann unterscheiden können "Das ist ein Hund, und das ein Meerschweinchen!"
Zum anderen kannst du Klassen für die Modellierung verwenden. Möchtest du einen Roboterhund bauen, so überlegst du dir, welche Eigenschaften (Attribute) und Fähigkeiten (Methoden) dieser haben soll. Je mehr du auswählst, desto näher ist dein Roboterhund an einem realen Hund, aber desto schwerer und teurer wird es vielleicht, ihn zu programmieren und zu bauen...
Eingebetteter Serlo-Inhalt
Eingebetteter Serlo-Inhalt