[Java] Late Binding

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Korona, 1. Oktober 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 1. Oktober 2008
    Late Binding

    Hi ich wollte mich mal mit richtigen Late Binding beschäftigen, also schauen ob eine Klasse existiert (das weiß ich ja wie mit Class forName) und sie dann halt auch sagen wir über ein Interface benutzen.

    Das ganze soll halt auf Module hinauslaufen, wo die einzelnen Module später über Textdatei bzw später auch über GUI eingebunden werden.

    Einzige Frage is ich weiß wie ich überprüfe ob die Klasse da ist, jedoch wie kann ich dann davon ein neues Objekt erzeugen, weil die ja nicht über import eingebunden werden können.

    So ich denke die Frage kann bestimmt jemand schnell beantworten (am besten mit Beispiel Code mit Interface nutzung.)


    Thx and so long have fun with programming
    Korona
     
  2. 2. Oktober 2008
    AW: Late Binding

    Vorweg dein thema betrifft eher reflection als late binding wenn du mich fragst!

    hab jetzt leider keinen kompletten Code zur hand, aber ev. kann ich dir denkhilfen geben ...

    du bekommst ja über die Class.forName(Klassenname) ein entsprechendes Klassenobjekt zurück.

    Code:
    Class someClass = Class.forName(myClass.name); //irgend n string halt
    
    Dieses Class-Objekt hat nun unter andrem ne Methode "newInstance()" mit der du neue Instanzen erzeugen kannst.

    Code:
    Object o = someClass.newInstance();
    
    "o" ist nun also eine Ausprägung der Klasse myClass und sollte sich genauso verwenden lassen wie ein "echtes" myClass-Objekt.

    Wenn du dir Class genauer ansiehst, siehst du dass dort sehr viele Methoden deklariert und zur verfügung gestellt werden die dir bei deinem Projekt hilfreich sein könnten, so zum Beispiel bekommst du über getFields() alle deklarierten Membervariablen der Zielklasse raus. Hier die Doku von Class: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html
     
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.