# alle abgeleiten Klassen eines Interfaces finden?



## VirusSE (1. Mrz 2007)

Ich habe ein Interface X und implementiere mehrere Klassen X1 .... Xn. 
Mein Programm soll dem Nutzer beim Start eine Auswahl der Klassen Xy (y = 1...n) zeigen. Der User wählt sich dann eine aus und diese wird genutzt um irgendetwas zu verrichten. Da ich gern noch weitere Klasse Xn+m implementieren will ohne den Quellcode der Auswahl nochmal anzufassen, wäre ich sehr interessiert daran heraus zu bekommen, welche Implementationen (Klassen) es zu meinen Interface X gibt.

Eine einfache Lösung wäre es alle Klasse des Packages zu nehmen und mit _instanceof_ zu prüfen ob sie zum Interface X gehören. Allerdings weiß ich nicht ob das den gewünschten Zweck erfüllt. Außerdem habe ich das Problem das ich Klasse deren Name ich nicht kenne auch nicht finde. Ich habe leider noch nicht soviel Erfahrung mit der Reflection API, weswegen ich mich an euch wende. Vielen Dank schonmal im voraus.


----------



## SlaterB (1. Mrz 2007)

alle Klassen oder packages oder Klassen in einem package kann man nicht referenzieren,

du müsstest schon mit einem Projekt im Dateisystem anfangen, die Dateinamen einlesen usw.


----------



## TgSchueler (13. Mrz 2007)

Wieso implementieren???

Du icludest das Package und erstellst von den Klassen, Objekte, von denen der User will, dass er sie nutzt. Dann kann er auch auf die Methoden und Attribute(bei private über set() und get() Methoden) zugreifen, und es ist Möglich ;-)


Wenn diese Klassen unbedingt Abstrakt oder Interfaces sein müssen, kannst du immer noch Anonyme Objekte erstellen...


----------

