Instanzerzeugung von abgeleiteten Typen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Instanzerzeugung von abgeleiteten Typen

Beitrag von nickname8 (Specialist / 134 / 17 / 19 ) »
Hallo Leute,
ich habe folgende Klassenstruktur:

Abstrakte Basisklasse mit definierten Methoden mit dem Sinn, redefiniert zu werden. In dieser abstrakten Klasse gibt es eine finale statische factory Methode, welche je nach Prozess/Customizing Instanzen abgeleiteter Klassen erzeugt und zurück gibt.
Die abgeleitete Klasse würde ich gerne als CREATE PROTECTED einstellen, damit die Instanzerzeugung an einer Stelle gekapselt ist. Leider geht das nicht, weil die Basisklasse keine Instanz der abgeleiteten Klasse erstellen darf.
Als FRIEND bekannt zu machen geht auch nicht, weil ich systemübergreifend entwickle und in den verschiedenen Systemen nicht alle abgeleiteten Klassen vorhanden sind.

Gibts sonst eine schlaue Idee das zu lösen?

Danke und LG

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Instanzerzeugung von abgeleiteten Typen

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Leg in deiner abstrakten Klasse einen Konstruktor an und mach dort einen Aufruf des FuBa SYSTEM_CALLSTACK. Wenn die Factorymethode nicht im Callstack steht wirf eine Exception oder gib eine X- oder A-Meldung aus.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Instanzerzeugung von abgeleiteten Typen

Beitrag von nickname8 (Specialist / 134 / 17 / 19 ) »
😄 ok, kreativer Ansatz.

Wäre eine Überlegung, der Nachteil ist halt, dass es "erst" zur Laufzeit gemerkt wird.

Re: Instanzerzeugung von abgeleiteten Typen

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Und warum kannst du denn das "FRIEND" nicht benutzen? Die Basisklasse sollte doch in jedem deiner Systeme vorhanden sein und wenn du in der Childklasse die Basisklasse als FRIEND einträgst ist doch alles in Butter.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
nickname8

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Instanzerzeugung von abgeleiteten Typen

Beitrag von nickname8 (Specialist / 134 / 17 / 19 ) »
ach klar, stand auf dem Schlauch. War verwirrt und dachte das FRIEND in die Basisklasse gehört, statt andersrum...
Danke, ich teste es mal so.
FRIEND finde ich irgendwie besser als ...CALLSTACK.
Danke

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1462
Views
Generische Typen
von Elcin » 16.08.2016 15:28 • Verfasst in ABAP® für Anfänger
4
Antw.
1766
Views
Konvertierung von Typen
von Neko » 28.08.2018 14:55 • Verfasst in ABAP® Core
2
Antw.
1441
Views
Message typen im PBO
von JohnLocklay » 09.12.2016 11:44 • Verfasst in ABAP® für Anfänger
2
Antw.
2797
Views
quan typen
von kostonstyle » 28.08.2008 11:22 • Verfasst in ABAP® für Anfänger
4
Antw.
5597
Views
Generische Typen in OO
von christop » 16.06.2008 10:07 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag



Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140