Im Rahmen der heutigen Softwareentwicklung spielt die Objektorientierung eine sehr wichtige Rolle. Die sich immer stärker durchsetzende Funktionalität der objektorientierten Programmierung basiert in erster Linie auf der Datenabstraktion und der Kommunikation der einzelnen Objekte.
Historisch betrachtet, werden objektorientierte Sprachen der sechsten Generation zugeordnet. Im Gegensatz zu den herkömmlichen Sprachen, besteht das Gerüst des Systems nicht aus der Zerlegung in Prozeduren und Funktionen, sondern aus Objekten und Objekttypen, die Eigenschaften und eigene Operationen besitzen. Durch die Interaktion der beteiligten Objekte wird die Gesamtaufgabe schließlich gelöst. Dank diese Gestaltung wird die Beschreibung realer Abläufe ermöglicht.
Die vorliegende Arbeit verfolgt das Ziel, die Grundlagen der objektorientierten Programmierung darzustellen und einer kritischen Würdigung zu unterziehen.
Zu diesem Zweck wird zunächst auf die wesentlichen Begrifflichkeiten der objektorientierten Programmierung eingegangen, um eine Verstehensgrundlage zu schaffen. Daran anschließend wird der Zusammenhang von objektorientierter Analyse, objektorientierten Design und objektorientierter Programmierung, im folgenden OOP genannt, erläutert.
Abschließend werden die Vor- und Nachteile des Programmierkonzeptes aufgezeigt.
INHALTSVERZEICHNIS
Literaturverzeichnis / Quellennachweis
I Einführung
II Begrifflichkeiten der Objektorientierten Programmierung
1 Objekte
2 Klassen
3 Vererbung
4 Polymorphie
5 Kapselung
III Zusammenhang OOA – OOD - OOP
IV Kritik
1 Vorteile
2 Nachteile
V Schlussbetrachtung
LITERATURVERZEICHNIS / QUELLENNACHWEIS
Abbildung in dieser Leseprobe nicht enthalten
I Einführung
Im Rahmen der heutigen Softwareentwicklung spielt die Objektorientierung eine sehr wichtige Rolle. Die sich immer stärker durchsetzende Funktionalität der objektorientierten Programmierung basiert in erster Linie auf der Datenabstraktion und der Kommunikation der einzelnen Objekte.
Historisch betrachtet, werden objektorientierte Sprachen der sechsten Generation zugeordnet[1]. Im Gegensatz zu den herkömmlichen Sprachen, besteht das Gerüst des Systems nicht aus der Zerlegung in Prozeduren und Funktionen, sondern aus Objekten und Objekttypen, die Eigenschaften und eigene Operationen besitzen. Durch die Interaktion der beteiligten Objekte wird die Gesamtaufgabe schließlich gelöst. Dank diese Gestaltung wird die Beschreibung realer Abläufe ermöglicht.
Die vorliegende Arbeit verfolgt das Ziel, die Grundlagen der objektorientierten Programmierung darzustellen und einer kritischen Würdigung zu unterziehen.
Zu diesem Zweck wird zunächst auf die wesentlichen Begrifflichkeiten der objektorientierten Programmierung eingegangen, um eine Verstehensgrundlage zu schaffen. Daran anschließend wird der Zusammenhang von objektorientierter Analyse, objektorientierten Design und objektorientierter Programmierung, im folgenden OOP genannt, erläutert.
Abschließend werden die Vor- und Nachteile des Programmierkonzeptes aufgezeigt.
Abbildung in dieser Leseprobe nicht enthalten
II Begrifflichkeiten der Objektorientierten Programmierung
1 Objekte
Wie aus dem Namen des betrachteten Programmierkonzeptes hervorgeht, basiert das gesamte Konstrukt auf Objekten. Diese sind Abstraktionen der realen Welt. Demzufolge verfügen Objekte über Eigenschaften und Verhaltensweisen. Eigenschaften (Attribute) werden durch Variablen festgehalten, das Verhalten wird durch Methoden beschrieben.[2]
Als Attribute des Objektes „Auto“ wären, wie in Abbildung 1 dargestellt, beispielsweise die Farbe Rot, der Kilometerstand 23.145 oder die aktuelle Geschwindigkeit von 0 Std / km zu nennen, wogegen als Methode z.B. die Prozedur „Motor starten“ gilt.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Aufbau eines Objektes
2 Klassen
Objekte ähnlicher Attribute und Methoden können in Klassen zusammengefasst werden. Dies dient in erster Linie der besseren Verwaltung gleichartiger Objekte.
Abbildung in dieser Leseprobe nicht enthalten
Die Klasse „Personenkraftwagen“ legt beispielsweise fest, dass der Pkw eine Farbe, einen Motor, Reifen, Türen und Sitze hat. Das zugeordnete Objekt „Pkwvariante 1“ hingegen, differenziert diese Attribute stärker in z.B. Motor mit 150 kW und fünf Ledersitze, das zugeordnete Objekt „Pkwvariante 2“ hat z.B. einen Motor mit nur 55 kW und fünf Stoffsitzen. Beide Objekte unterscheiden sich voneinander, gehören jedoch der selben Klasse an.
Zudem werden Objekte aus der jeweiligen Klasse heraus erzeugt. Sie dient somit als Konstruktionsvorlage.
Klassen, die keine Attribute oder Methoden besitzen, werden als abstrakte Klasse bezeichnet. Aus diesen Klassen können keine Objekte generiert werden. Erst nach Implementierung von Methoden und Attributen in der abgeleiteten Klassen können weitere Objekte von dieser Klasse generiert werden[3].
Darüber hinaus werden durch die Klasse die Algorithmen definiert, anhand derer die Objekte verschiedener Klassen miteinander interagieren. Zwischen verschiedenen Klassen, bzw. ihren Objekten können somit verschiedene Beziehungen hergestellt werden, um realitätsnahe Verhältnisse abzubilden.
3 Vererbung
Wie Kinder Eltern haben, von denen bestimmte Eigenschaften, wie Haarfarbe, Hautfarbe und oft Verhaltensweisen vererbt werden, findet dies auch bei der OOP Anwendung.
Im Sinne der OOP werden in diesem Zusammenhang Attribute und Methoden von der „vererbenden“ Klasse, auch als Oberklasse, Basisklasse oder Superklasse bezeichnet, an die „erbende“ Klasse, auch Unterklasse oder Subklasse genannt, vererbt. Durch diese Systematik müssen die entsprechenden Attribute und Methoden innerhalb der untergeordneten Klasse nicht neu definiert werden, da sie durch die Vererbung automatisch weitergegeben werden. Eine neue „Pkwvariante 3“ würde beispielsweise das Attribut der Farbe und die Methode „Motor starten“ automatisch erben.
Abbildung in dieser Leseprobe nicht enthalten
Zudem können abgeleitete Klassen weitere eigene Attribute und Methoden besitzen, welche die Basisklasse „Personenkraftwagen“ nicht kennt, wie z.B. „Leistung Drehmoment“ oder „starte Klimaanlage“ (siehe Abbildung 2). Geerbte Eigenschaften und Verhaltensweisen können übernommen, verändert oder erweitert werden.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2: Vererbung
Auch neue Klassen können so auf Grundlage bereits vorhandener Klassen definiert werden, z.B. Klasse „Mofa“. Verschiedene Klassen können zu übergeordneten Klassen zusammengefasst werden (Generalisierung). Detaillierte Unterklassen können aus einer bestehenden Klasse abgeleitet werden (Spezialisierung). Es entsteht eine hierarchische Struktur.[4]
[...]
[1] Vgl. Dipl.-Kfm. Martin Böhn / Dipl.-Kfm. Alexander Hagn, Würzburg: „Objektorientierung bei der Softwareentwicklung“, das wirtschaftsstudium, 33. Jahrgang, Heft 4, April 2004
[2] Vgl. Ausarbeitung von Siegfried Spolwig: „Objektorientierte Programmierung“ OSZ Handel I Informatik vom 30.05.2005
[3] Vgl. Balzert, H., Heidelberg: Lehrbuch der Software-Technik. Software-Entwicklung, 2.Aufl., 2000
[4] Vgl. Dipl.-Kfm. Martin Böhn / Dipl.-Kfm. Alexander Hagn, Würzburg: „Objektorientierung bei der Softwareentwicklung“, das wirtschaftsstudium, 33. Jahrgang, Heft 4, April 2004
-
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X.