11.07.2015 Aufrufe

Übersetzung von OO-Sprachen

Übersetzung von OO-Sprachen

Übersetzung von OO-Sprachen

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.

Kapitel 2: Objektorientierte Programmiersprachenschlussendlich die letzte wichtige Regel. Die Dynamische Bindungs-Regel besagt, dassdie Auswahl der Methodenimplementierung zur Laufzeit an das Objekt gebundenwerden muss, wenn dessen Klassenzugehörigkeit zur Übersetzungszeit nicht bekannt ist[WB97, S. 179]. Dieser Vorgang wird auch als spätes Binden bezeichnet und bietet einezusätzliche Flexibilität bei der Programmentwicklung. Das Gegenteil hierzu ist dasfrühe oder statische Binden, bei dem der Übersetzer schon zur Übersetzungszeit dieMethoden feststellen und damit festlegen kann [BH98, S. 128].2.2.3 PolymorphismusObjektorientierte <strong>Sprachen</strong> stellen das Konzept der Polymorphismus zur Verfügung,dass als Vielgestaltigkeit übersetzt werden kann. Unter Polymorphismus versteht mandie Fähigkeit, dass der gleiche Methodenaufruf bzw. die gleiche Nachricht eineunterschiedliche Reaktion auslöst, da die gewählte Implementierung <strong>von</strong> Methodeninnerhalb <strong>von</strong> Klassenhierarchien <strong>von</strong> verschiedenen Faktoren abhängt. Dieses Konzepterfordert die bereits eingeführte Fähigkeit des späten bzw. dynamischen Binden, da erstzur Laufzeit entschieden werden kann, welche Methodenimplementierung genutztwerden wird.Polymorphismus kann anhand der nachfolgenden Abbildung charakterisiert und in dieBereiche Überladen, Subklassen-, parametrischer- und Inklusionspolymorphismusunterteilt werden [BH98, S. 53].PolymorphismusAd-hoc-P.universeller P.ÜberladenCoercionInklusionParametrischAbbildung 2: Übersicht PolymorphismusÜberladen bedeutet, wenn eine namensgleiche Methode mehrfach implementiert wirdund sich nur anhand der übergebenen Parameter (Signatur) unterscheidet. WelcheMethode aufgerufen wird, wird zur Laufzeit durch den Übersetzer entschieden, indemdie übergebenen Argumente ausgewertet werden. Das nachfolgende Beispiel zeigt dasÜberladen <strong>von</strong> Methoden anhand des bekannten Beispiels:6

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!