SOFTWARETECHNIK - beim Fachbereich Informatik
SOFTWARETECHNIK - beim Fachbereich Informatik
SOFTWARETECHNIK - beim Fachbereich Informatik
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