dynamische Objekte erzeugen?

Status
Nicht offen für weitere Antworten.
D

dienstag

Gast
Hi,

ist es in Java möglich dynamische Objekte zu erzeugen und denen dynmaische viele attribute zuzuordnen?
Also ein ansatz könnte sein ein Interface zu schreiben und den Objekten die dieses Interface implementieren beliebig viele attribute zuzuordnen. Ist das eine Möglichkeit oder bin ich auf dem Holzweg?
Ist mein Vorhaben realisierbar mit Java Bordmitteln oder muß man dafür JGroovy oder ähnliches verwenden?
Ich habe vor kurzem ne sehr ähnliche Frage gestellt, aber ich möchte halt wissen ob der Ansatz mit dem Interface ne Schnapsidee ist oder nicht.

danke


Dieser Beitrag wurde am 17.04.2007 um 15:02 von L-ectron-X editiert.
Titel angepasst! Ex-Titel: "ich schon wieder"

BTW: Ist es eigentlich schwer, einen bescheuerten Titel zu wählen, der nichts über das Thema aussagt?
 

thomator

Bekanntes Mitglied
Wenn Du dynamisch Objekte mit beliebig vielen Eigenschaften erstellen willst bringt Dich ein Interface nicht weiter. Da hilft nur Reflection oder eine Collection, in der die Attribute gepflegt werden.
Sollen die Attribute das einzige dynamische an den Objekten sein?
 
D

dienstag

Gast
-die objekte sollen alle das attribut name besitzen
-nur die attribute solllen dynamisch sein
- die attribute mittels einer collection nachzubilden scheidet aus
- es ist möglich per Reflection attributen werte zuzuordnen, wenn es dafür die entsprechenden konstruktoren gibt.

Beispielweise:

Code:
class Test
{
   public Test(String eins){..}
   public Test(String eins, String zwei){..}
   public Test(String eins,String zwei,String drei){..}

}

So in dem Fall kann ich per Reflection die Klasse Test erzeugen und sie mit 1..3 attributen belegen. Das bringt mir aber nix. Was ich will ist ein Objekt dieser Klasse zu erzeugen mit beliebig vielen attributen...daher bräuchte ich 1..n konstruktoren mit 1..n parametern.


Anders herum gefragt es ist in Java mit -bordmitteln nicht möglich eine neues Object zu erzeugen und ihm attribute zuzuornden?:

Pseudocode:

Object obj=new Object();
obj.setAttribute(TypeString,"name");
obj.setAttribute(Type.Int,"alter");

etc...

Sowas ist in Java nicht direklt möglich?! nur mit hilfe von groovy?
 

thomator

Bekanntes Mitglied
Warum machst Du nicht eine Klasse Test mit dem Übergabeparameter String[][] für den Konstruktor?
Dann kannst Du die Werte, die Du übergibst auch noch anhand eines Spezifikators bestimmten Attributen zuweisen. Die Menge der Attribute wird doch wohl begrenzt sein, oder? Sonst läßt sich so ein Objekt doch nicht sinnvoll verarbeiten...
 
D

dienstag

Gast
dass war nur ein beispiel.
-die attribute können verschiedene typen annehmen
- man soll später auf jedes dieser attribute mittels reflection zugreifen /manipulieren können
-die menge der attribute ist unbestimmt
 

thomator

Bekanntes Mitglied
deathbyaclown hat gesagt.:
aber ins blaue geraten ... ich bin immer seeeeehr skeptisch, wenn man klasse so komplett dynamisch erzeugen will. meistens gibt es eine einfachere, logischere und bessere loesung....

Sehe ich auch so, das klingt nach Eierlegender Wollmilchsau, so was geht meistens in die Hose.
 
D

dienstag

Gast
danke für die antworten.

jo der threadtitel war nicht gut gewählt :oops:
 

sparrow

Top Contributor
dienstag hat gesagt.:
Anders herum gefragt es ist in Java mit -bordmitteln nicht möglich eine neues Object zu erzeugen und ihm attribute zuzuornden?:

Pseudocode:

Object obj=new Object();
obj.setAttribute(TypeString,"name");
obj.setAttribute(Type.Int,"alter");

etc...

Sowas ist in Java nicht direklt möglich?! nur mit hilfe von groovy?

Klaro kann Java das.
Bau doch einfach eine Klasse welche die Methode .setAttribute(type, name) hat.
Am besten bildest du dann innerhalb der Klasse die Möglichen Types per public static Variablen ab.
Das ganze speicherst du dann innerhalb der Klasse in einer HashMap<name, content>.


Gruß
Sparrow
 

thomator

Bekanntes Mitglied
sparrow hat gesagt.:
Bau doch einfach eine Klasse welche die Methode .setAttribute(type, name) hat.
Am besten bildest du dann innerhalb der Klasse die Möglichen Types per public static Variablen ab.
Das ganze speicherst du dann innerhalb der Klasse in einer HashMap<name, content>.

Das beißt sich bissi mit

dienstag hat gesagt.:
- die attribute mittels einer collection nachzubilden scheidet aus
 

sparrow

Top Contributor
thomator hat gesagt.:
sparrow hat gesagt.:
Bau doch einfach eine Klasse welche die Methode .setAttribute(type, name) hat.
Am besten bildest du dann innerhalb der Klasse die Möglichen Types per public static Variablen ab.
Das ganze speicherst du dann innerhalb der Klasse in einer HashMap<name, content>.

Das beißt sich bissi mit

dienstag hat gesagt.:
- die attribute mittels einer collection nachzubilden scheidet aus

Naja, irgendwo muss er die Werte ja lassen.
Und von aussen "fühlt" es sich ja so an als wenn dort dynamisch Variablen angelegt werden.
 

Marcel_Handball

Bekanntes Mitglied
Vielleicht hilft dir dies ja weiter:

Code:
public class Test{
	
	public static void main(String args[]){
	  AttributKlasse eins = new AttributKlasse("eins,zwei,drei,vier,funf,sechs");
	  eins.ausgabeDerAttribute();
	}
} 


class AttributKlasse{
	String attribute[];
	
	AttributKlasse(String att){
		attribute=att.split(",");
	}
	
	void ausgabeDerAttribute(){
		for(int i=0; i<attribute.length; i++){
			System.out.println(attribute[i]+"");
		}
	}
}
 

schalentier

Gesperrter Benutzer
Lest doch mal, was der Threadersteller will. Er will dynamisch Properties zu Klassen hinzufuegen und er will auf diese spaeter per getter/setter zugreifen koennen.

Klar, mit der Hashmap geht das vom prinzip her, aber folgendes eben nicht:
Code:
dynObj.setAttribute( String.class, "name" );
dynObj.setAttribute( Integer.class, "alter" );

dynObj.getName();
dynObj.setAlter( 81 );

Das geht zwar mit Java auch, aber das willst du nicht. Dazu muesstest du die in die JVM geladenen Klassen dynamisch manipulieren, und das willst du wirklich nicht machen... :)

Wenn du sowas unbedingt brauchst, nimm eine andere Programmiersprache (zb Ruby, da geht sowas). Ansonsten machs mit der Hashmap...
 

sparrow

Top Contributor
Und was spricht gegen:

Code:
dynObj.setAttribute(String.class, "name" ); 
dynObj.setAttribute(Integer.class, "alter" ); 

dynObj.getAttribute("name"); 
dynObj.setAttributeValue("alter", 81);
 
D

dienstag

Gast
was ich will ist ein dynamsches objekt erzeugen mit beliebeigen attributen. später will ich auf diese zugreifen können, mittels reflection-
hab ne lösung für das problem gefunden in c#.
habs jetzt in c# gelöst.
das soll kein seitenhieb oder sowas sein aber ich braucht ne lösung für mein problem. es wäre auch mit Jruby oder Groovy gegangen, einer Skriptsprache aber jetzt habe ich mich für C# entschieden.


DANKE sehr
 
D

dienstag

Gast
BTW: Ist es eigentlich schwer, einen bescheuerten Titel zu wählen, der nichts über das Thema aussagt?[/i]

Nein ist es nicht. ich habe mich für den betreff bereits entschuldigt. bin halt wegen dem problem gestresst gewesen, habe mir überlegt ob ich das mit Java, C# oder Python löse. Wenn man mit einem Problem beschäftigt ist, übersieht man manchmal einiges..
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Dynamische Objekte / DB Allgemeine Java-Themen 5
Ernesto95 HTTP Mit JavaScript erzeugte dynamische Webseite auslesen und nach einem Schlüsselwort durchsuchen Allgemeine Java-Themen 6
districon Rekursion und Dynamische Programmierung Allgemeine Java-Themen 2
hello_autumn Statistische/dynamische Tests Allgemeine Java-Themen 10
E Socket Dynamische Klasse von ObjectOutputStream lesen. Allgemeine Java-Themen 8
P Erste Schritte Dynamische Anzahl von verschachtelten Schleifen Allgemeine Java-Themen 5
J Dynamische Rückgabewerte Allgemeine Java-Themen 2
K Dynamische Webseiten auslesen Allgemeine Java-Themen 6
S Variablen Dynamische Arrays Allgemeine Java-Themen 2
B dynamische Java Slideshow Allgemeine Java-Themen 4
SuperSeppel13 Dynamische Bibliotheken einbinden Allgemeine Java-Themen 16
B Script Problem "Dynamische Datenstruktur" Allgemeine Java-Themen 13
A Dynamische PDF Erstellung mit iText Allgemeine Java-Themen 4
ModellbahnerTT Dynamische Programmierung, komme nicht weiter.... Allgemeine Java-Themen 15
C dynamische imports? Allgemeine Java-Themen 13
hdi dynamische return-Werte Allgemeine Java-Themen 15
M JUnit und dynamische Tests Allgemeine Java-Themen 11
X dynamische bindung - Typsystem :?: Allgemeine Java-Themen 5
C dynamische variablen Namen! Allgemeine Java-Themen 4
G eigener logger mittels classe (dynamische logfilename) log4j Allgemeine Java-Themen 15
R Dynamische Sorten-Prüfung? Allgemeine Java-Themen 8
F dynamische ArrayListen? Allgemeine Java-Themen 8
C kann man dynamische variablen namen vergeben? Allgemeine Java-Themen 2
H "dynamische Ladegrafik" Allgemeine Java-Themen 2
C Dynamische Varibalen Allgemeine Java-Themen 3
C dynamische Vererbung Allgemeine Java-Themen 6
schegga_B javax.crypto - Cipher Objekte - Sevice Provider matching? Allgemeine Java-Themen 1
berserkerdq2 Weiß jemand wie ich im Scenebuilder das Fenster so darstellen kann, dass beim Vollbildmodus die Objekte so angezeigt werden? Allgemeine Java-Themen 1
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
N einem Array Objekte hinzufügen die ihr Array position gespeichert haben Allgemeine Java-Themen 34
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
L Objekte in Set nicht gefunden Allgemeine Java-Themen 13
Avalon Data Transfer Objekte aus Datenbank erstellen Allgemeine Java-Themen 8
G Objekte mit Strings Aufrufen Allgemeine Java-Themen 8
H Objekte speichern und laden Allgemeine Java-Themen 10
H Objekte speichern und laden Allgemeine Java-Themen 1
MiMa Referenz auf Objekte und deren Inhalte Allgemeine Java-Themen 12
W Objekte reproduzieren Allgemeine Java-Themen 2
W Objekte per Reflexion instanziieren Allgemeine Java-Themen 7
W Unittest - Objekte simulieren Allgemeine Java-Themen 7
T OOP Objekte mit Erweiterung Initialisieren Allgemeine Java-Themen 6
O Erste Schritte Objekte als Datenelemente Allgemeine Java-Themen 14
J Equals Mock Objekte Allgemeine Java-Themen 5
J Mockito - Objekte miteinander vergleichen (equals) Allgemeine Java-Themen 6
N Bei Mouse Events nicht mehrere Objekte erstellen Allgemeine Java-Themen 13
J Zugriff auf erstellte Objekte einer Klasse von einer Klasse ausserhalb Allgemeine Java-Themen 3
J Java Objekte = null, Garbagecollector Allgemeine Java-Themen 12
F Listen - Mehrere Objekte Allgemeine Java-Themen 1
J Verständnis Frage zur Instanz, Objekte, Instanzierung, Referenz Allgemeine Java-Themen 14
F Objekte erzeugen Allgemeine Java-Themen 1
E Threads ThreadPoolExecutor remove mit callable Objekte Allgemeine Java-Themen 3
P mehrer Verschiedene Objekte in einer Klasse erstellen. Allgemeine Java-Themen 4
E OOP Objekte und Methoden Allgemeine Java-Themen 1
@SupressWarnings() Umgebungsvariable Objekte "gekoppelt" Allgemeine Java-Themen 6
S Algorithmus um Objekte auf einer Flaeche mit gleichem Abstand anzuordnen..? Allgemeine Java-Themen 20
C Objekte in Array List speichern? Allgemeine Java-Themen 1
OnDemand Objekte speichern Allgemeine Java-Themen 8
B Objekte anhand von Properties file Allgemeine Java-Themen 41
U Tiefe Objekte schreiben Allgemeine Java-Themen 1
R Abstrakte Basisklasse und instanzierte Objekte der abgeleiteten Klasse als Basisklasse übergeben Allgemeine Java-Themen 2
E 3D Objekte in 2D Bild finden Allgemeine Java-Themen 5
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
F FileOutput/Input Objekte Allgemeine Java-Themen 6
OnDemand Objekte serialisieren Allgemeine Java-Themen 3
J unterschiedliche Objekte, selbe getter und setter Allgemeine Java-Themen 15
L Lib gesucht: Java-Objekte mit JSON Allgemeine Java-Themen 2
U Set erklären dass objekte gleich sind Allgemeine Java-Themen 12
E Best Practice Verdammt große Objekte Allgemeine Java-Themen 10
B Mehrere Objekte verschlüsselt serialisieren Allgemeine Java-Themen 6
G Liste anzahl der gleichen Objekte Allgemeine Java-Themen 6
N Objekte an eine andere Applikation übergeben Allgemeine Java-Themen 3
N 2 Objekte zu einer Gruppe zusammenfügen Allgemeine Java-Themen 7
M Instanzierte Objekte in XML Dokument speichern Allgemeine Java-Themen 3
B Verschiedene Objekte in Abhängigkeit eines Typs instanziieren. Allgemeine Java-Themen 17
K Input/Output Im Programm instanzierte Objekte Speichern und laden Allgemeine Java-Themen 3
S OOP Objekte als Return-Werte: Einen Klon zurückgeben oder Instanz auf das Feld? Allgemeine Java-Themen 10
H Objekte Serialisiert speichern Allgemeine Java-Themen 10
L MouseListener für viele Objekte erstellen Allgemeine Java-Themen 16
5 Objekte Sortieren lassen Allgemeine Java-Themen 7
N Objekte aus Array Inhalt erzeugen Allgemeine Java-Themen 8
L Input/Output Textdatei in Objekte überführen? Allgemeine Java-Themen 4
R Input/Output Objekte speichern ohne überschreiben Allgemeine Java-Themen 7
A Collections HashMap.containsKey findet keine immutablen Objekte Allgemeine Java-Themen 3
H Threads Thread stirbt aber Objekte in ihm leben weiter?! Allgemeine Java-Themen 9
M Java Objekte in XML mit JAXB Allgemeine Java-Themen 9
C Strings und JSON Objekte so klein wie möglich im Speicher ablegen Allgemeine Java-Themen 5
H COM-Objekte/ AktiveX Objekte Allgemeine Java-Themen 4
C Script für Website mit Objekte Ausblenden Allgemeine Java-Themen 3
M Txt einlesen & Objekte erzeugen Allgemeine Java-Themen 2
X Objekte aus TableModel serialisieren und deserialisieren Allgemeine Java-Themen 4
T ObjectInputStream - Arrayliste, die unbekannte Objekte enthält Allgemeine Java-Themen 9
B class dateien "einlesen" und objekte erzeugen Allgemeine Java-Themen 6
D Grafische Objekte zeichnen Allgemeine Java-Themen 4
A Wie zur Laufzeit auf Objekte zugreifen Allgemeine Java-Themen 7
F Referenzen auf Objekte Allgemeine Java-Themen 5
H Eclipse und Objekte Allgemeine Java-Themen 6
S Objekte die Objekte enthalten: Keine Vererbung Allgemeine Java-Themen 4
E Objekte in einer Liste suchen. Allgemeine Java-Themen 4
I Über eine Liste iterieren und Objekte löschen. Wie löst man das sauber? Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben