WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 08.08.2003, 10:01   #1
moorhahn
Veteran
 
Registriert seit: 26.12.2000
Beiträge: 489


moorhahn eine Nachricht über ICQ schicken
Standard [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.
____________________________________
Wenn Null ganz besonders gross ist, ist es schon fast so viel wie ein kleines bisschen Eins... - (Kommentar zum Thema Rundungsfehler bei Fliesskommazahlen).
moorhahn ist offline   Mit Zitat antworten
Alt 08.08.2003, 10:24   #2
myope
Senior Member
 
Registriert seit: 15.09.1999
Alter: 46
Beiträge: 161


myope eine Nachricht über ICQ schicken myope eine Nachricht über Skype™ schicken
Standard

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.
____________________________________
101010




myope ist offline   Mit Zitat antworten
Alt 08.08.2003, 10:32   #3
moorhahn
Veteran
 
Registriert seit: 26.12.2000
Beiträge: 489


moorhahn eine Nachricht über ICQ schicken
Standard

hm, weiß ned wirklich wie du das meinst.
____________________________________
Wenn Null ganz besonders gross ist, ist es schon fast so viel wie ein kleines bisschen Eins... - (Kommentar zum Thema Rundungsfehler bei Fliesskommazahlen).
moorhahn ist offline   Mit Zitat antworten
Alt 08.08.2003, 10:42   #4
moorhahn
Veteran
 
Registriert seit: 26.12.2000
Beiträge: 489


moorhahn eine Nachricht über ICQ schicken
Standard

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.
____________________________________
Wenn Null ganz besonders gross ist, ist es schon fast so viel wie ein kleines bisschen Eins... - (Kommentar zum Thema Rundungsfehler bei Fliesskommazahlen).
moorhahn ist offline   Mit Zitat antworten
Alt 08.08.2003, 13:30   #5
myope
Senior Member
 
Registriert seit: 15.09.1999
Alter: 46
Beiträge: 161


myope eine Nachricht über ICQ schicken myope eine Nachricht über Skype™ schicken
Standard

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?
____________________________________
101010




myope ist offline   Mit Zitat antworten
Alt 08.08.2003, 15:12   #6
blauesau
Hero
 
Registriert seit: 08.04.2003
Beiträge: 821


Standard

Ich verstehe leider auch nicht, was du meinst...

Code:
var test:String;
begin
test:='c:\test\testprogramm.exe';
exec(test);
end
sähe halt so aus:
Code:
String test = "c:\\test\\testprogramm.exe";
exec(test);
blauesau ist offline   Mit Zitat antworten
Alt 08.08.2003, 15:15   #7
blauesau
Hero
 
Registriert seit: 08.04.2003
Beiträge: 821


Standard

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 {
   Vector.add(new String("blablabla"));
}
while(...)
blauesau ist offline   Mit Zitat antworten
Alt 08.08.2003, 18:55   #8
Tarjan
Quantensingularität
 
Registriert seit: 28.09.2000
Alter: 55
Beiträge: 8.336


Tarjan eine Nachricht über ICQ schicken
Standard

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";
Class classobject = Class.forName(klassenname);
Object newObject = classobject.newInstance();
Damit ist newObject ein Dateobjekt. Und je nachdem was du im String angibst kannst so jede beliebige Klasse erzeugen.
____________________________________
Was ist klein, grün und dreieckig?
Ein kleines grünes Dreieck!


Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg!
Tarjan ist offline   Mit Zitat antworten
Alt 08.08.2003, 20:03   #9
moorhahn
Veteran
 
Registriert seit: 26.12.2000
Beiträge: 489


moorhahn eine Nachricht über ICQ schicken
Standard

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 .
____________________________________
Wenn Null ganz besonders gross ist, ist es schon fast so viel wie ein kleines bisschen Eins... - (Kommentar zum Thema Rundungsfehler bei Fliesskommazahlen).
moorhahn ist offline   Mit Zitat antworten
Alt 08.08.2003, 20:16   #10
Tarjan
Quantensingularität
 
Registriert seit: 28.09.2000
Alter: 55
Beiträge: 8.336


Tarjan eine Nachricht über ICQ schicken
Standard

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
____________________________________
Was ist klein, grün und dreieckig?
Ein kleines grünes Dreieck!


Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg!
Tarjan ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:56 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag