Mario Sedlak
Softwareentwicklung
Software
Computer
Hauptthemen

Objektorientiertes Programmieren

Irgendwann hat man offenbar eingesehen, dass strukturiertes Programmieren alleine zu wenig ist. Man kann nicht alles in kleine Module aufteilen, die so in sich abgeschlossen wie mathematische Funktionen sind. Reale Anwendungen arbeiten mit einer mehr oder weniger großen Menge an Daten. Ich verstehe die objektorientierte Programmierweise als ein teilweises Aufheben des generellen Verbots von globalen Variablen: Funktionen, Prozeduren und deren Daten werden zu "Objekten" zusammengefasst, sodass alle Datenvariablen des Objekts für den gesamten Programmcode des Objekts "global" sind und unkompliziert verwendet werden können (man braucht nicht bei jedem Funktions- oder Prozeduraufruf alle Daten mitübergeben). Das halte ich für sehr sinnvoll!

Eigenschaften

Kritik

Vergleich

Du brauchst ein Messer. Daher öffnest du die Besteckschublade und nimmst eines raus. Das wäre normale Programmierung. Objektorientiert sieht es anders aus:

Du kommst nicht einmal mehr in deine eigene Wohnung, sondern der AnfrageManager fragt dich an der Wohnungstür, was du willst. Deinen Wunsch nach einem Messer gibt er an den AnfrageVerteiler weiter. Der weiß, welche Anfragen wo hingehören. In deinem Fall ist es der BesteckManager. Der wiederum kontaktiert den SpitzbesteckManager. "Spitzbesteck" sind alle spitzen Bestecke, also Gabeln und Messer. (Beim objektorientierten Programmieren trifft man oft auf neue, kreative Bezeichnungen.) Jetzt fordert der SpitzbesteckManager vom MesserFinder ein Messer an. Wenn er eines findet, geht es durch alle Hände zurück bis zu dir.

Anhänger des objektorientierten Programmierens gefallen solche Konzepte, wo jedes Objekt nur eine kleine, genau definierte Aufgabe hat und nicht viel von seinem restlichen Umfeld wissen muss. Aber wehe, du willst aufeinmal nicht nur ein Messer, sondern gleichzeitig auch wissen, wie viele Messer noch übrig sind. Dann müssen all die schönen, sauber getrennten Objekte geändert werden. Zugriffe auf die Informationen in entlegenen Objekten bedeuten beim objektorientierten Programmieren oft erheblichen Aufwand. Das ist der Preis für das Zerteilen der Wirklichkeit in kleine Objekte.

Alternativen

Weiter

Modulares Programmieren