zurück zur Übersicht

Objektorientierte Programmierung

Die objektorientierte Programmierung ist ein Programmierparadigma oder auch Programmierstil, der bspw. in der Webentwicklung oder auch in der App-Entwicklung verwendet wird.

Sie ähnelt dabei dem menschlichen Denken, weil alles, was dort im Programmcode verwendet wird, als Objekt beschrieben ist. Wie kann man das verstehen? Stellen wir uns kurz vor, auf einer Single-Page oder in einer Digital-Health-App wird ein Teekessel verwendet. Somit wird dieser Teekessel als Objekt ‚Teekessel‘ in der Programmierung beschrieben. Alles, aber auch alles, was wir in unserer Single-Page verwenden werden – Teekessel, Mensch, Motorboot etc. –, wird als Objekt beschrieben. Jedes davon wird einzeln und für sich und gleichzeitig getrennt voneinander vom Webentwickler programmiert.

Dabei wird zunächst jedes Objekt im Programmcode durch spezielle Eigenschaften individuell beschrieben. Also alle Kessel sind als Teekessel-Objekte gespeichert, und jeder Teekessel besitzt eine ganze Reihe von beschreibenden Eigenschaftswerten, die ihn von den anderen Teekesseln wiederum abhebt. Die Eigenschaften signalisieren quasi den Unterschied. Die Eigenschaften von einem Teekessel sind etwa Farbe: Gelb, Form: rund, Inhalt: 10 Liter, Besitzer: Klaus usw. Die Objekteigenschaften des anderen Teekessels sind die gleichen, aber hier sind die Farbe: Grün, die Form: viereckig und der Besitzer: Sven.

Wenn Objekte etwas in dem Programm auslösen können, also wenn sie funktionieren, werden sie ‚Methode‘ genannt. Unser Objekt ‚Teekessel‘ hat dann etwa die Funktion ‚Verkaufen‘ implementiert. Jedes Objekt kann insofern natürlich nicht nur mehrere Eigenschaften, sondern ebenfalls mehrere Methoden besitzen, die in einem Code definiert sind. Die Methoden heißen dann etwa ‚Verkaufen‘, ‚Kaufen‘, ‚Saubermachen‘ etc.

Ein Objekt ist also immer eine physische Sache in einem Programm, mit ausgewiesenen Eigenschaften und Methoden. Den Bauplan der Objekte bilden die sogenannten Klassen, die abstrakt die Eigenschaften und Methoden instanziieren. In der objektorientierten Programmierung ist es möglich, diese Klassen, also deren Objekt-Baupläne, zu vererben. Dabei übernimmt eine Klasse alle Eigenschaften und Methoden einer anderen Klasse, doch wieso? Weil dadurch die Klasse erweitert wird, ohne sie zu verändern. Das heißt bspw., Eigenschaften der Klasse ‚Haushaltsgeräte‘ werden auf die Objekte ‚Teekessel‘, ‚Trinkbehälter‘ und ‚Auffüllflasche‘ vererbt, ohne dass der Entwickler diese Eigenschaften jeweils immer wieder in jedem Objekt separat verankern muss. Enthält die Klasse ‚Haushaltsgeräte‘ z. B. die Eigenschaften ‚Küche‘, ‚Getränke‘ und ‚Ausschank‘, müssen diese nicht mehr einzeln bei den anderen (neu erworbenen) Objekten niedergeschrieben werden.