![]() |
[Java] variabel Klasseninstanzen erstellen
ist es möglich in java je nach einer variablen verschiedene klassen zu instanzieren? is schwer zu erklären.
sollte etwa folgendermaßen sein: String kl=new String("TestKlasse") kl neueinstanz=new kl() so ungefähr. das geht logischerweise nicht, aber gibts vielleicht nen workaround? vielleicht dass man in den string den code String kl=new String("TestKlasse tk=new TestKlasse()") schreibt und dies dann ausführen lässt? vielleicht hats ja einr kapiert. |
ja. mit vererbung.
erstelle eine neue klasse die zb String erweitert. dann kannst du eine variable anlegen und mit String oder der neuen klasse instanzieren. |
hm, weiß ned wirklich wie du das meinst.
|
neuer erklärungsversuch:
umgelegt auf zb delphi würde das etwa folgendermaßen aussehen: var test:String; begin test:='c:\test\testprogramm.exe'; exec(test); end das ganze ist nämlich für ein menü, sollte so ne kleine arcade-game-sammlung werden. dazu gibts eine klasse fürs menü, und dann gibts noch eine klasse für die einzelnen menüelemente. ein feld der element-klasse ist application, darin steht der name der klasse des arcade-games. der instanz der menüklasse fügt man dann die einzelnen elemente zu. dann sollte je nach auswahl im menü die jeweilige klasse (deren name im feld application des gewählten menüelements steht) instanziert, bzw "ausgeführt" werden. |
nun. ich weiß wirklich nicht was du meinst.
also du hast eine klasse menue. und noch eine klasse menueEintrag. in der klasse menue eine möglichkeit mehrere instanzen von menueEintrag hinzuzufügen und somit das menü aufzubauen ist das noch korrekt? so und wann brauchst du nun versch. instanzierungen? |
Ich verstehe leider auch nicht, was du meinst...
Code:
var test:String; Code:
String test = "c:\\test\\testprogramm.exe"; |
Ein Versuch noch, aber ich kann nur raten, da mir schleierhaft ist, was du wirklich willst...
Vielleicht suchst du nach einer Collection, z.b. Vector. Code:
do { |
Also so wie ich das verstanden habe will er ein Objekt einer Klasse instazieren, je nachdem welchen String er verwendet.
Und das funktioniert in Java mit der Klasse Class: Code:
String klassenname = "java.util.Date"; |
war schwer zu beschreiben.
tarjan hats richtig verstanden, danke dir und auch den anderen die versucht haben, die erklärung zu verstehen und zu antworten :) . |
Aber Achtung, wenn du das Objekt wie oben konstruiert hat es anfangs nur die Eigenschaften eines Object Objekts. Du musst später casten um die Date Funktionalität verwenden zu können.
Für dich wäre am besten ein Factory Objekt zu schreiben, welches die benötigten Objekte erzeugt. Funktioniert nach dem Factory Design Pattern: http://skripte.informatik.fh-ge.de/~...R2_Skript9.pdf http://exciton.cs.oberlin.edu/javare...oryPattern.htm http://gsraj.tripod.com/design/creat...y/factory.html |
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag