Gesucht - Vererbung bei statischen Merkmalen/Methoden

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

Gesucht - Vererbung bei statischen Merkmalen/Methoden

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Folgendes Problem:

Gegeben sei eine schon existierende Klasse, welche einen Sack voll abgeleiteter Klassen besitzt, die nicht alle meiner Kontrolle unterliegen.
Jetzt soll für diese (Grund)klasse eine neue Methode eingeführt werden, mit welcher man z.B. eine Versionsinformation der Klasse auslesen kann. Diese Methode soll dann schlauerweise KLASSE=>GET_VERSION heißen und einfach einen Versionsstring zurückgeben ( z.B. V1.0.0 als default ).

Bis hierhin kein Problem. Aber zukünftig soll diese Methode auch für jede Klasse ( auch die abgeleiteten ) die aktuelle Versionsinformation zurückgeben. Wenn die Hauptklasse einen Versionssprung macht, soll diese ab dann Ver. 2.1.0 zurückgeben, wohingegen die Unterklassen weiterhin 1.0.0 zurückgeben sollen. Andererseits dürfen die Unterklassen Versionen selber für sich vergeben.

Wenn es sich hier um Instanzmethoden handeln würde wäre das Ganze ja gar kein Problem (evtl. bei der Hauptklasse etwas komplizierter wg. der momentan nicht vorhandenen Redefinitionen der Unterklassen). Aber wie bekomme ich so etwas bei statischen Methoden hin, da SAP ja keine Redefinition statischer Methoden vorsieht?

Die Autoren der Haupt- und Unterklassen haben jeweils nicht unbedingt Zugriff auf die anderen Klassen, so dass jede Klasse für sich selber diese Information bereitstellen muss.


Mein aktueller Ansatz:
1 Instanzmethode (redefinierbar), welche mir genau diese Information zurückgibt ( Ohne importparameter, nur einen Returnparameter )
1 statische Methode mit Importparameter iv_klassenname mit der ich eine Instanz der (evtl. Unter-)klasse erzeuge und dann die oben angesprochene (Instanz)methode die Info zurückgeben lasse.


Aber das scheint mir zu kompliziert.
Hat jemand einen schicken Ansatz für dieses Problem?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

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


Re: Gesucht - Vererbung bei statischen Merkmalen/Methoden

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
hmm... nicht so einfach zu lösen.
Fällt mir im Momen auch nichts anderes ein, als deine Lösung.
Vielleicht könnte die Methode aber auch in jeder Klasse extra implementiert werden und einen bestimmten Aufbau vom Namen her haben:
GET_VERSION_<Klassenname>

Ich weiß nicht in wie weit du das Klassenmodell ändern kannst, aber normalerweise braucht man keine "Versionsinformation":
Aus den Anfängen der Internetbrowser ist dir sicherlich "best viewed with xxx" bekannt. Das hat sich mittlerweile ja zum Glück geändert. Der neue, bessere Ansatz lautet "Feature-Detetction". Alle JavaScript Libraries (z.B. jQuery) gehen in diese Richtung. Vielleicht kannst du ja in deinen Klassenhierarchie eine zweite Interface-Hierarchie implementieren die dir Auskunft über die zur Verfügung stehenden Funktionen der Klassen liefert.

lg ADT
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.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1813
Views
IF Abfragen bei Merkmalen
von commolus » 07.12.2012 10:51 • Verfasst in SAP - Allgemeines
0
Antw.
6825
Views
Löschen von Merkmalen in Klassen
von MAS » 02.05.2008 12:15 • Verfasst in SAP - Allgemeines
2
Antw.
1730
Views
Aufruf der Wertehilfe zu Merkmalen von Navigationsatributen?
von CO » 25.10.2005 16:40 • Verfasst in Sonstige Module

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 2 Stunden von Bright4.5 3 / 1473
Regex in where
vor 3 Stunden von tar 6 / 130
Programm anlegen mit Vorlage
vor 18 Stunden von DeathAndPain 2 / 122
IT0024 Qualifikationen CP-ID
vor 19 Stunden von DeathAndPain 2 / 353

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

Daten an Tabelle binden
vor 2 Stunden von Bright4.5 3 / 1473
Regex in where
vor 3 Stunden von tar 6 / 130
Programm anlegen mit Vorlage
vor 18 Stunden von DeathAndPain 2 / 122
IT0024 Qualifikationen CP-ID
vor 19 Stunden von DeathAndPain 2 / 353

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 20 Stunden von snooga87 1 / 86
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821