Foliensatz 10: Polymorphie Flashcards Preview

ERP > Foliensatz 10: Polymorphie > Flashcards

Flashcards in Foliensatz 10: Polymorphie Deck (5)
Loading flashcards...
1

Was ist der statische Typ einer Variable?

Der statische Typ bestimmt die Verwendersicht eines Objekts, Verwendersicht wird durch ein ABAP-Programm oder eine Prozedur gekennzeichnet
-DATA iref TYPE REF TO intf

2

Was ist der dynamische Typ einer Variable?

Bestimmt das Verhalten eines Objektes, damit lassen sich unterschiedliche Methoden-Implementierungen erreichen bei gleichen Signaturen.
-CREATE OBJECT iref TYPE myclass

Beispiele:
-unterschiedliche Zinsberechnungen bei Bankkonten
-unterschiedliche Preisberechnungen je Flugklasse

3

Was ist Polymorphie?

Polymorphie bezeichnet die Eigenschaft,
-unterschiedlich implementierte Methoden,
-die zu unterschiedlichen Objekten verschiedener Klassen gehören
-mit dem gleichen Bezeichner über dieselbe Schnittstelle (Signaturen) ansprechen zu können
-Verwender ruft über statische Referenzvariable die Methoden von Objekten auf, die über ihre Signatur zur Anwendung kommen soll
-dynamische Referenzvariable bestimmen dann, welche Implementierung einer Methode tatsächlich ausgeführt wird-> es kommt immer zur Ausführung der speziellsten Methodenimplementation

4

Wie ist Polymorphie im Kontext von ABAP?

Wird verwirklicht durch:
-Redefinition von Methoden in der Vererbung, indem in der Subklasse speziellere, redefinierte Methoden implementiert werden
-Implementation von Methoden, die in Interfaces deklariert und in bezogenen Klassen speziell implementiert werden

->Es sind nie die Objekte selbst, die polymorphes Verhalten aufweisen, sondern deren Referenzvariablen, die unterschiedliche dynamische Typen annehmen können.

5

Was ist der praktische Vorteil für den Ansatz der Polymorphie?

-Verwender kann mit unterschiedlichen Klassen über gleiche Schnittstelle umgehen ohne Kenntnisse der Implementierungsdetails
-Ohne Polymorphie müsste für jedes Objekt eigene Referenzvariablen gebildet werden
-Mit Einsatz der Polymorphie kann auf die Verwendung von Kontrollstrukturen weitgehend verzichtet, um die dynamischen Typen der Referenzvariablen auseinander zu steuern
-ermöglicht Erstellung generischer Programme, die sich stabil gegenüber neuen Anforderungen verhalten, weil Implementierungen verändert oder erweitert werden können, ohne Auswirkung auf den Zugang