02.12.2012 Aufrufe

SOFTWARETECHNIK - beim Fachbereich Informatik

SOFTWARETECHNIK - beim Fachbereich Informatik

SOFTWARETECHNIK - beim Fachbereich Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

28<br />

von Elementen. Hierzu stellen die Collection-Klassen unterschiedliche Methoden<br />

als Schnittstelle (Collection-API) zur Verfügung.<br />

Allerdings gibt es auch Grenzen ….<br />

2.2.4 Beziehungen<br />

Meistens existieren Objekte nicht isoliert sondern stehen in Beziehungen zu<br />

anderen Objekten. Hierbei werden unterschiedliche Beziehungsarten unterschieden.<br />

So kann zwischen Objekten beispielsweise eine "Teil-von"-Beziehung bestehen.<br />

Dies beschreibt eine Zusammensetzung eines Objektes aus anderen Objekten. So<br />

könnte beispielsweise ein Lampen-Objekt aus den Objekten für Birne, Fassung,<br />

Kabel und Widerstand bestehen.<br />

Eine andere zentrale Beziehung der Objektorientierung ist die Spezialisierung (istein-Beziehung).<br />

Diese wird in objektorientierten Programmiersprachen durch<br />

Vererbung ausgedrückt. Beispielsweise könnte ein Transportmittel als Schiff, Zug,<br />

Flugzeug und Strassenfahrzeug spezialisiert werden. Die Aussage ist, dass ein<br />

Schiff ein (spezielles) Transportmittel ist, aber auch ein Zug, ein Flugzeug oder ein<br />

Strassenfahrzeug. Diese Beziehung kann auch umgekehrt betrachtet werden. In<br />

diesem Falle spricht man von Generalisierung (Verallgemeinerung). Vererbungen<br />

können auch mehrstufig sein. So könnte beispielsweise ein Strassenfahrzeug<br />

weitere unterteilt werden in Auto, Zweirad und Lastkraftwagen. Auf diese Weise<br />

entstehen sog. Vererbunghierarchien, die in einer Baumstruktur (Ableitungsbaum)<br />

dargestellt werden. Die Modellierung von Vererbungshierarchien kann auch dazu<br />

eingesetzt, gegliederte Begriffstrukturen (sog. Taxonomien) für einen<br />

Anwendungsbereich zu definieren.<br />

Im Kapitel 3 werden im Rahmen der Betrachtung der UML (Unified Modelling<br />

Language) die unterschiedlichen Beziehungstypen erläutert.<br />

2.2.5 Polymorphismus<br />

Ein anderes wichtiges Konzept von objektorientierten Programmiersprachen ist die<br />

des Polymorphismus (Vielgestaltigkeit). Hierunter versteht man die Fähigkeit von<br />

Objektvariablen, Objekte unterschiedlicher Klassen und daraus abgeleiteten<br />

Klassen aufzunehmen. Aufgrund der definierten Vererbunghierarchien wird<br />

sichergestellt, dass nur Eigenschaften berücksichtigt werden, die auf allen Ebenen<br />

der Hierarchie definiert sind.<br />

Mit Polymorphismus wird es möglich, gleiche Methoden von unterschiedlichen<br />

Objekten der Hierrachie aufzurufen. Hierbei wird das Konzept des "Late Binding"<br />

vom "Early Bindung" unterschieden. Letzteres bedeutet, dass zur Compile-Zeit der<br />

Methodenaufruf bestimmt ist. "Late Binding" bedeutet, dass erst zur Laufzeit die<br />

Festlegung getroffen wird welche Methode aufgerufen wird. Der Vorteil dieses<br />

Konzeptes liegt darin, dass der Programmieraufwand für typbasierte

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!