Konstruktoren-Probleme.... Thema ist als GELÖST markiert

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
8 Beiträge Seite 1 von 1
8 Beiträge Seite 1 von 1

Konstruktoren-Probleme....

Beitrag von ralf.wenzel (Top Expert / 3418 / 150 / 220 ) » 21. Jun 2019 16:52

Moin,

ich baue ein Objekt der Klasse subcls, die von supercls erbt. Wir nehmen an, beide Klassen haben einen Constructor und eine Methode init. Wenn ich das Objekt subcls erzeuge, in dessen Constructor die Methode init aufgerufen wird, wird die init von supercls ausgeführt, nicht die von subcls.

Warum ist das so? Wie löse ich das Problem, dass ich bestimmte Dinge beim Objektebauen durchführen muss - und zwar klassenspezifisch (also die init von subcls).


Ralf

Hab gerade beiläufig einen Hinweis bekommen


Re: Konstruktoren-Probleme....

Beitrag von ewx (Top Expert / 3982 / 164 / 372 ) » 21. Jun 2019 17:35

Alles, was in der SUPER Klasse ausgeführt wird, geschieht auch in der SUPER-Klasse... Wenn beide Constructors einen INIT durchführen, dann wird der in der jeweiligen Klasse ausgeführt. Das ist IMHO mit ein Grund, weswegen man eigentlich so gut wie nichts im CONSTRUCTOR selbst durchführen sollte. Dafür gibt es dann ja die Erbauer-Entwurfsmuster, die sicherstellen, dass INIT-Routinen nach der Erzeugung ausgeführt werden.

Wenn sie im CONSTRUCTOR selbst aufgerufen werden, hat das evtl. zur Folge, dass in jeder Klasse teure Laufzeit verbraten wird, obwohl eigentlich nur die Sub-Sub-Klasse den Init durchführen müsste.

Re: Konstruktoren-Probleme....

Beitrag von ralf.wenzel (Top Expert / 3418 / 150 / 220 ) » 21. Jun 2019 19:06

Du hast den von mir verlinkten Artikel gelesen?


Ralf

Re: Konstruktoren-Probleme....

Beitrag von ewx (Top Expert / 3982 / 164 / 372 ) » 21. Jun 2019 19:50

Ja, ist schon länger her. Habe ihn eben nochmal gelesen.
Und auf was willst du hinaus?

Re: Konstruktoren-Probleme....

Beitrag von AdrianSchm (ForumUser / 32 / 4 / 4 ) » 24. Jun 2019 15:09

Gibt eine Möglichkeit das zu umgehen indem man in dem Konstruktor der Superklasse wieder auf die Subklasse Castet. Dann kannst du die Methoden der Subklasse aufrufen. Ist aber nicht schön. Programmiere aktuell nur noch mit Factorys und keine Parameter in den Konstruktoren.

Re: Konstruktoren-Probleme....

Beitrag von ewx (Top Expert / 3982 / 164 / 372 ) » 24. Jun 2019 15:26

AdrianSchm hat geschrieben:
24. Jun 2019 15:09
Gibt eine Möglichkeit das zu umgehen indem man in dem Konstruktor der Superklasse wieder auf die Subklasse Castet. Dann kannst du die Methoden der Subklasse aufrufen.
Wie soll das bitte gehen?
Hast du ein Beispiel dafür?

Re: Konstruktoren-Probleme....

Beitrag von black_adept (Top Expert / 3254 / 54 / 572 ) » 25. Jun 2019 13:17

AdrianSchm hat geschrieben:
24. Jun 2019 15:09
Gibt eine Möglichkeit das zu umgehen indem man in dem Konstruktor der Superklasse wieder auf die Subklasse Castet. Dann kannst du die Methoden der Subklasse aufrufen. Ist aber nicht schön. Programmiere aktuell nur noch mit Factorys und keine Parameter in den Konstruktoren.
Man kann innerhalb des Konstruktors nicht auf die Unterklasse casten. SAP gibt einem da sogar einen Kurzdump mit einer sehr! detaillierten Fehlermeldung, die noch mal das beschreibt was Ralf schon verlinkt hatte.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Konstruktoren-Probleme....

Beitrag von AdrianSchm (ForumUser / 32 / 4 / 4 ) » 25. Jun 2019 14:48

Kann das am Donnerstag nochmal nachschauen wie ich das Programmiert habe.

Grüße Adrian

Seite 1 von 1

Aktuelle Forenbeiträge

Spaltennummer-Umwandlung Excel.
vor 7 Stunden von black_adept 5 / 59
Dynamische SELECT-Anweisung gelöst
vor 9 Stunden von mareikemei92 3 / 25
Transaktion VL06 Verteilung ausgehender Lieferungen
vor 13 Stunden von SAP_ENTWICKLER 1 / 22
In welcher Tabelle ist die Bezeichnung einer Kostenstelle? gelöst
vor 13 Stunden von wreichelt 2 / 29
Eigener Knopf im Ausgabefenster
vor 13 Stunden von LostDarkness 4 / 190

Unbeantwortete Forenbeiträge

Transaktion VL06 Verteilung ausgehender Lieferungen
vor 13 Stunden von SAP_ENTWICKLER 1 / 22
FuBa EXIT_SAPLVEDC_003 S/4 1809
vor 2 Tagen von SAP_ENTWICKLER 1 / 70
CDS VIEW mit BOPF Framework update
vor 5 Tagen von Abapanfänger 1 / 67
SAP Document Builder: Dokumenterzeugung
vor 6 Tagen von robin.heidrich 1 / 170
Lohnsteuerbescheinigung
vor 6 Tagen von kaim77 1 / 104