Objektorientierte Programmierung ordnet ein Programm nach den Dingen, um die es geht. Jedes Ding kennt seine eigenen Daten und bringt die Funktionen mit, die darauf arbeiten.
- Objektorientierte Programmierung
Eine Art, ein Programm zu ordnen: nach den Dingen, um die es geht, wobei jedes Ding seine Daten und die zugehörigen Funktionen zusammenhält.
Beispiel: „In der objektorientierten Programmierung weiß ein Produkt selbst, ob es noch lieferbar ist.“Auch: OOP.
Abgrenzung zur prozeduralen Programmierung: Dort ist das Programm nach Arbeitsschritten geordnet, und die Daten liegen daneben. Beide Wege führen zum Ziel und kommen in denselben Projekten nebeneinander vor.
Der Grundgedanke
Ein Programm bildet meistens etwas aus der Wirklichkeit ab: Produkte, Kunden, Bestellungen. Die objektorientierte Programmierung nimmt das wörtlich und macht jedes dieser Dinge zu einem Objekt, das seine eigenen Daten trägt und die Funktionen mitbringt, die darauf arbeiten.
Ein Produkt weiß dann selbst, wie sein Bruttopreis zustande kommt. Der Code, der den Preis anzeigt, fragt das Produkt danach und muss die Regel nicht kennen. Ändert sie sich, ändert sie sich an einer Stelle.
Die vier Begriffe, die dazugehören
Eine Klasse ist die Vorlage, ein Objekt das fertige Ding daraus. Der Vorgang des Herstellens heißt beim new Erzeugen einer Instanz, und die Funktion, die dabei läuft, ist der Konstruktor. Laut MDN tut eine Klasse für sich allein nichts: Sie ist „eine Art Vorlage zum Erstellen konkreter Objekte dieses Typs“.
Dazu kommen zwei Prinzipien. Die Kapselung trennt, was ein Objekt nach außen zeigt, von dem, was es intern tut. Die Vererbung lässt eine Klasse von einer anderen abstammen und deren Daten und Funktionen übernehmen, ohne sie noch einmal aufzuschreiben.
Was davon im Alltag zählt
Für ein Gespräch über ein Projekt genügt die Kapselung. Sie erklärt, warum eine Änderung an der Preisberechnung manchmal zehn Minuten dauert und manchmal zwei Tage: Liegt die Regel an einer Stelle, ist sie schnell geändert. Liegt sie verstreut im Code, muss jemand sie erst einsammeln.
In unseren über 2.500 Website-Projekten ist das der häufigste Grund für Aufwände, die größer ausfallen als gedacht. Was alt gewachsen ist, hat seine Regeln selten an einer Stelle.