Ansicht
Dokumentation

ABENINHERITANCE_REFERENCES - INHERITANCE REFERENCES

ABENINHERITANCE_REFERENCES - INHERITANCE REFERENCES

BAL Application Log Documentation   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Vererbung und Polymorphie

Da eine Unterklasse entlang des Vererbungsbaums alle Komponenten aller Oberklassen enthält und die Interfaces von Methoden nicht geändert werden können, kann eine Referenzvariable, die mit Referenz auf eine Oberklasse oder mit Referenz auf ein von einer Oberklasse implementiertes Interface typisiert ist, Referenzen auf Objekte aller Unterklassen dieser Oberklasse enthalten. D.h. der Inhalt einer Referenzvariablen, die mit Bezug auf eine Unterklasse typisiert ist, kann immer Referenzvariablen zugewiesen werden, die mit Bezug auf eine ihrer Oberklassen oder deren Interfaces typisiert ist (Upcast). Insbesondere kann die Zielvariable immer mit Bezug auf die Klasse object typisiert sein.

Ein statischer Verwender kann mit einer Referenzvariablen genau die ihm sichtbaren Komponenten ansprechen, die schon in der Oberklasse enthalten sind, auf die sich die Referenzvariable bezieht. Er kann also keine in den Unterklassen hinzugekommenen Spezialisierungen ansprechen. Beim dynamischen Zugriff sind dagegen alle Komponenten ansprechbar.

Wenn eine Instanzmethode in einer oder mehreren Unterklassen redefiniert wird, können nach einem Methodenaufruf über ein dieselbe Referenzvariable unterschiedliche Implementierungen der Methode ausgeführt werden, je nachdem an welcher Stelle des Vererbungsbaums die Klasse des referenzierten Objekts steht. Diese Eigenschaft, dass unterschiedliche Klassen die gleiche Schnittstelle haben und daher über Referenzvariablen eines einzigen Typs ansprechbar sind, wird Polymorphie genannt.






Vendor Master (General Section)   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 1944 Date: 20240523 Time: 181945     sap01-206 ( 50 ms )