11.07.2015 Aufrufe

Übersetzung von OO-Sprachen

Übersetzung von OO-Sprachen

Übersetzung von OO-Sprachen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kapitel 2: Objektorientierte Programmiersprachenpublic class Angestellter extends Mitarbeiter {public class Ueberweisen(){ /*.*/ }public class Ueberweisen(float betrag){ /* */ }public class Ueberweisen(float betrag, bool Irgendwas){ /* */}}Listing 3: Überladen und ÜberschreibenCoercion bezeichnet die automatische und implizite Typumwandlung, um eineOperation durchführen zu können. Um die Addition <strong>von</strong> 3 + 5,4 durchführen zu können,erfolgt automatisch die Typumwandlung in 3,0 + 5,4.Beim Inklusions-Polymorphismus kann eine Methode mit mehreren Typen arbeiten,wenn diese Typen in einer Superklassen-Unterklassen Beziehung stehen. Diese Formdes Polymorphismus findet bei Vererbung ohne Re-Implementierung statt. EineEinschränkung auf bestimmte Typen schließt dabei typbedingte Laufzeitfehler aus.Anhand der bereits bekannten Klassenhierarchie kann hier die Struktur sehr gutverdeutlicht werden. Die mA und mB Objekte vom Typ Mitarbeiter können Instanzender Unterklassen Angestellter und Arbeiter aufnehmen. Der Inklusions-Polymorphismus ermöglicht den Umfang des bereits vorgestellten Vererbungskonzeptesund ist u.a. der Grund für den Bedarf der drei Regeln.public class SubklassenPolymorphismus {public static void main(String[] args){Mitarbeiter mA = new Angestellter();Mitarbeiter mB = new Arbeiter();}}Listing 4: Subklassen-PolymorphismusParameterpolymorphie ist die letzte Art des Polymorphismus, die auch für den weiterenVerlauf der Ausarbeitung <strong>von</strong> Bedeutung ist. Diese Art liegt vor, wenn eine MethodeParameter allgemeinen Typs akzeptiert (Generizität). Formal wird dies i.d.R. überPlatzhalter gelöst, die beim Aufruf mit dem benötigten Objekttyp ersetzt werden. DerVorteil dieser Platzhalter besteht darin, dass häufig benötigte Methoden wie Container,Listen und Bäume nur einmal implementiert werden müssen und für alle Datentypengenutzt werden können.public class Datenobjekt {private T daten;public Datenobjekt(T daten){ this.daten = daten; }public T getDaten(){ return daten; }public void setDaten(T daten){ this.daten = daten; }}Datenobjekt TestA = new Datenobjekt(“String“);7

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!