PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auf externe Klassen zugreifen und nutzen



Jor
13-12-2006, 14:50
Hallo *.*,

zu folgender Frage würde ich gern eure Tipps, Ratschläge oder Hilfen hören:
Ich habe eine Anwendung erstellt, nun möchte ich externe Klassen (Funktionen,Mehtoden) aus dieser aufrufen. Ich stelle mir dabei vor, das die externe Klasse nicht zwingend vorhanden sein muß, sondern angesprochen wird, und wenn sie vorhanden ist, führt sie irgendwelche Aktionen aus (z. B. erstellen einer Form in der Statistiken angezeigt werden), möglich wäre auch ein Daten Im- und Export usw.
Im Moment kann ich das leider nicht besser beschreiben, da ich mit so etwas noch nicht gearbeitet habe. :o
(Auch auf die Gefahr eingehender Schümpfe, unter Cirgendwas währen das wohl DLL's was ich so meine...)
Wonach muß ich suchen, wenn ich etwas zu dem Thema lesen möchte???
Ich danke euch schonmal im voraus! :)

peschmae
13-12-2006, 22:49
Also du möchtest Plugin-Funktionalität in dein Programm einbauen?

Das sollte bei Java eigentlich ganz einfach gehen
a) ein entsprechendes Interface definieren
b) irgendwie dem Programm zur Laufzeit mitteilen wie genau die zu ladende Klasse, die das entsprechende Interfaces implementiert, heisst
c) das Programm machte ein ClassLoader.loadClass(name) und schon hast du ein Objekt der entsprechenden Klasse

Fertig. So stelle ich mir das zumindest vor - in C++ geht das ziemlich genau so. Nur dass du da andauernd Ärger hast mit Speicherzugriffsfehlern :D
Oder zumindest ich habe den.

MfG Peschmä

mehlvogel
14-12-2006, 07:55
Nur als kleine Ergänzung zu peschmaes Beitrag: Schau dir auch die Reflection API von Java in diesem Kontext an.

mamue
14-12-2006, 11:28
Die Reflection API braucht er gar nicht mal unbedingt, wenn ich ihn richtig verstanden habe (Wahrscheinlichkeit liegt bei ~50%).
Den Classloader nannte peschmae bereits. Mit "instanceof" kannst Du testen, ob die soeben geladene Klasse eine bestimmte Typsignatur hat, also eine bestimmte Klasse erweitert oder ein bestimmtes Interface implementiert, so dass Du Dich auf eine festgelegte Schnittstelle verlassen kannst.

HTH,
mamue

Jor
15-12-2006, 06:32
@Peschmä, mehlvogel, mamue vielen Dank für eure Tipps!
Es ist etwas Licht ins Dunkle gekommen, :cool: , ich werde mich nun in diverse Lektüren vertiefen, da ich nun weis, wo nach ich suchen muss.
Peschmä's Vorschlag hört sich erstmal nicht so schwierig an, werde hier anfangen zu bohren. :)
Danke nochmals.:)