Hallo Kollegen,
Ich habe eine Klasse und leite davon ab. Anschließend redifiniere ich eine Methode, welche im Super-Konstruktor aufgerufen wird.
Warum wird beim instanziieren eines Objektes der abgeleiteten Klasse, wenn im Konstruktor der Super-Konstruktor aufgerufen wird, nicht die redifinierte Methode durchlaufen sondern die ursprüngliche?
Hoffe die Frage ist verständlich, sonst reiche ich Code nach wenn ich am PC bin.
Weil das im ABAP-Kernel leider so implementiert ist.
Aus diesem Grund verwende ich kaum noch den Konstructor für die Instanzierung von Objekten. Stattdessen erstelle ich meist eine eigene INITIALIZE Methode die das aktuelle Objekt als Rückgabewert hat. Damit funktioniert der Aufruf von den redefinierten Methoden wieder wie man das auch aus anderen Programmiersprachen kennt.
Im Aufruf ist das Dank der neuen Syntax kaum Mehraufwand:
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.