Casting von Objekten

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Ein Vorteil von Klassen ist, dass sie nicht zwangsläufig vom gleichen Typ sein müssen, wenn sie einander zugewiesen werden.

Beim Casting (Narrawing Cast) ist der statische Typ der Zielvariablen spezieller als der statische Typ der Quellvariablen. Eine Zuweisung ist nur mit dem Casting-Operator "?=" möglich und nicht mit "=". Das reine "=" würde zu einem Syntaxfehler führen.

Beim Upcasting wird die Unterklasse der Oberklasse zugewiesen.

Beim Downcasting wird die Oberklasse der Unterklasse zugewiesen.

Hierarchie der Typklassen

aus der SAP-Hilfe die Hierarchie der Typklassen.

Casting.jpg

Beispiel Downcasting

Hier wurde ein Downcasting vorgenommen mit dem Befehl "?=".

DATA  cl_struc  TYPE REF TO cl_abap_structdescr.  "Run Time Type Services
cl_struc ?= cl_abap_datadescr=>describe_by_data( p_data = <fs_table>

Web-Links