Java Standard: Objektorientierung Sinn und Zweck

Aus Wikibooks


Ab der frühen Kindheit wird uns beigebracht, hinter den Dingen ein Schema zu erkennen. Wir lernen, dass Bello ein Hund ist. Zu diesen Bildern ordnen wir Eigenschaften und Fähigkeiten zu ("Farbe ist schwarz" oder "kann bellen"). Diese Verallgemeinerung ist eine der Stärken der Menschen. Es wird wohl daran liegen, dass die meisten Menschen nicht mehr als sieben Dinge gleichzeitig berücksichtigen können. Wen wundert es, wenn wir versuchen dieses Vorgehen in unsere Programmiersprachen zu übertragen. Somit können wir Dinge aus der Wirklichkeit auf die Maschine übertragen, weil sie abbildbar sind.

Der Hund wird in Java als Klasse repräsentiert. Bello wird als Objekt/Exemplar der Klasse verstanden.


Wesentliche Ziele von objektorientierter Programmierung sind Übersichtlichkeit, einfache Modifizierbarkeit, Flexibilität und einfache Wartung des Programmcodes. Erreicht wird dies durch den Ansatz, Objekte als relativ eigenständig zu verstehen. So ist es beispielsweise für das Gassigehen unerheblich, welchen Hund wir nun konkret an die Leine nehmen: Das kann Bello sein, es kann aber auch der Hund der Nachbarin sein, die im Urlaub ist. Das Vorgehen ist beide Male das Gleiche, unabhängig davon welche Farbe der Hund hat oder welcher Rasse er angehört.
Um Gassigehen zu können, muss es sich um einen Hund handeln. Nur dieser Punkt interessiert. Ob der Hund womöglich auch noch prämierter Gewinner von Schönheitswettbewerben ist oder auf einem Skateboard fahren kann, ist unwichtig.

Das hört sich sehr banal an, hat aber weitreichende Konsequenzen. Es ist ein fundamentales Konzept von objektorientierter Programmierung nur diejenigen Eigenschaften eines Objektes zu betrachten, die einen auch wirklich interessieren.

Durch einen Übersetzungsfehler des Wortes „instance" aus dem Englischen wird immer wieder von einer Instanz gesprochen, wobei hier der Begriff „Instanz" falsch ist. Besser passende Übersetzungen für „instance" sind „Objekt", „Ausprägung", „Exemplar", oder auch „realisiertes Beispiel".