Objektorientierte Programmierung

Software Entwicklung dient vor allem einem Zweck. Es wird auf unterschiedlichsten Ebenen mit einer ganzen Palette an Zielgruppen Geld verdient. Das hat die unterschiedlichsten Ausprägungen. Die Software wird für einen Zweck entworfen. Diesen muss sie erfüllen. Die Realität zeigt, das keine Software fehlerfrei arbeitet. Je komplexer, desto anfälliger. Zusätzlich werden Programme erweitert. All dies geschieht häufig erst Wochen, teilweise sogar Monate, nach der ursprünglichen Implementierung. Um wirtschaftlich zu bleiben oder die Anpassungen allgemein zu ermöglichen, muss die Software schon vorab gut durchdacht werden. Ein Paradigma, das hilft strukturierten Quellcode zu implementieren, ist die sogenannte objektorientierte Programmierung. Die stellen wir in diesem Artikel vor.

Was ist Objektorientierung?

Es gibt unterschiedliche Ansätze und Wege, mit denen man sich Zusammenhänge in der Software vorstellen kann. Die Idee bei der Objektorientierung ist, sich vorhandene Entitäten als reales Objekt vorzustellen. Diese Objekte werden im Programm beschrieben. Der Entwickler implementiert dazu eine sogenannte Klasse. Die hat einen Namen, verschiedene Eigenschaften und Methoden. Ein klassisches Beispiel ist ein Mensch.

Eine Mensch hat zum Beispiel die Eigenschaft der Haarfarbe, der Augenfarbe und der Körpergröße. In der Klasse Mensch sind das unsere Eigenschaften. Ein Objekt kann zusätzlich Aktionen ausführen oder über den eigenen Status Auskunft geben. Dazu werden sogenannte Methoden verwendet. Dies sind festlegbare Funktionen, die ausgeführt werden können. Der Mensch könnte zum Beispiel eine Methoden gehen haben. Zusätzlich ist laufen vorstellbar.

Objekte im Kontext der Computer

Das Beispiel Mensch ist gewollt abstrakt, um die Namensgebung zu verdeutlichen. Im Kontext der Computer könnte ein Objekt zum Beispiel eine Datei repräsentieren. Die Klasse braucht dazu die Eigenschaft Dateiname. Methoden wären zum Beispiel laden, speichern oder löschen.

Ganz besonders hervorzuheben ist, dass die eigentliche Implementierung keine Rolle spielt. Wenn Du in Deinem Programm ein fremdes Objekt benutzt, ist nur wichtig wie es aufgerufen wird und auf welche Eigenschaften die Zugriff hast. Das ist die sogenannte Schnittstelle. Die konkrete Umsetzung innerhalb der Methode ist dabei unwichtig. Gerade das macht die Arbeit mit Objekten sehr effektiv. Im Team kann zum Beispiel eine Software in großen Teilen entworfen werden, ohne das bereits die konkrete Implementierung vorliegt. Mehrere Programmierer arbeiten zusammen an der Software, kennen von den Teilen der anderen aber immer nur die Schnittstellen.

Speziell im Umfeld der Programmierung gibt es zusätzliche Konzepte, die für die objektorientierte Entwicklung von hoher Bedeutung sind. Das ist unter anderem die Idee der Vererbung.

Vererbung von Objekten

Das Beispiel Mensch eignet sich hervorragend für eine Erklärung. Grundidee ist, dass wesentliche Merkmale von Objekten in einer Basisklasse beschrieben werden. Beim Mensch waren es die oben genannten Merkmale. Das geht auch noch konkreter. Sinnvolle Unterklassen der Hauptklasse Mensch wären nun bspw. Mann und Frau. Diese haben die oben beschriebenen Eigenschaften. Geschlechtsspezifische Merkmale können in den konkreten Implementierungen hinterlegt werden.

Bei der Vererbung wird im Quellcode deutlich gemacht, dass die Klasse Frau von der Klasse Mensch erbt. Sie bestitzt nun alle Methoden und Eigenschaften der Hauptklasse. Zusätzlich können neue hinzukommen. Ebenfalls wichtig: Es können auch bestehende Eigenschaften und Methoden überschrieben werden.

Arbeit mit Objekten

Die Objektorientierung ist ein schlüssiges Konzept. Durch die Nähe zur physischen Welt, findet man sich gut zurecht. Eine konkrete Anleitung zur Arbeit mit Objekten gibt es einzig bezogen auf die Programmiersprachen. Die Ausprägungen unterscheiden sich.

Verschiedenste Sprachen unterstützen heutzutage diesen Ansatz. An forderster Front steht Java. C++, ruby, Python, PHP und Objective-C sind weitere populäre Programmiersprachen, in denen objektorientiert gearbeitet wird.

Vorteile durch Objektorientierung?

Der Vorteil rund um die Arbeit mit Objekten entsteht nicht in erster Linie durch die Objekte an sich. Es ist, ohne Probleme mit Objekten, möglich absolut unübersichtlichen Quellcode zu schreiben. Erst eine geschickte Verwendung und Kombinierung strukturiert die Software insgesamt. Dafür gibt es sogenannte Entwurfsmuster (Design Pattern). Die sprengen aber den Rahmen von diesem Artikel und werden später einmal behandelt.

Schreib einen Kommentar

Your email address will not be published.