Auflistung aller Sub(Subsub)klassen einer Klasse

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Fabsi
User
Beiträge: 2
Registriert: Montag 18. Februar 2019, 17:07

Hallo

Ich versuche aktuell alle Klassen einer Oberklasse zu verfolgen und daraus folgende Objekte anhand einer Datenbank zu erzeugen.
Als Test habe ich mir ein paar Klassen mit Vererbung bis zu 4 Ebenen geschaffen und per rekursiver Funktion alle möglichen Klassen in einem Array festgehalten.

IKlasse -> IIKlasse(IKlasse) -> IIIKlasse(IIKlasse)
IKlasse -> IVKlasse(IKlasse) -> IVVKlasse(IVKlasse) -> IVVVKlasse(IVVKlasse)

Jedoch finde ich in meinem Hauptprogramm, in welchem ich die Klassen in unterschiedlichen Dateien habe, nur die Klassen, mit denen ich seit einiger Zeit arbeite und nicht die, die ich neu erstellt habe.

Da es relativ viel Code ist, wollte ich hier erstmal Fragen, ob jemand dieses Problem kennt und ggf. eine Lösung dafür hat.

Liebe Grüße
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@Fabsi: besser explizit. Definier Dir einen Dekorator, der die Klassen in Deine Datenstruktur einfügt.
Was soll denn die Vererbung? Datenbanktabellen sind ja normalerweise nicht vererbt.
Fabsi
User
Beiträge: 2
Registriert: Montag 18. Februar 2019, 17:07

@Sirius3

Mein Ziel ist es anhand einer Vordefinierten DB-Tabelle die Möglichkeit einer modularen Implementierung eigener jedoch abhängig einer Basisklasse zu definieren.
Hierbei geht es um 3D Objekte (OpenGL) welche auf verschiedenster Weise implementiert werden könnten (verschiedene Dateiformate zur Implementierung der einzelnen Koordinaten, Visualisierung des Unterschiedes Model (Objekt) gegenüber einer Map, unterschiedliche Render-Arten, unterschiedliche mathematische Operationen (transformationen) und vieles mehr


Ich habe aber schon weiter ausprobiert und es leuchtet mir ein, dass man natürlich die Klassen, durch welche man iteriert, eingebunden haben muss, um weitere Informationen von denen zu erhalten.
Somit ist es nur möglich, eine abstrakte Methode implementieren zu müssen um von jeder Klasse ihre Subklassen zu erfahren oder in einer anderen Funktion, welche alle Klassen zur Basisklasse eingebunden hat
durch dessen Subklassen rekursiv zu durchlaufen.

Da die Wichtigkeit der Klasse in meinem Fall hoch ist, werde ich diese Art von Problem mittels einer zentralen Einheit realisieren

LG
Antworten