Objekt benennen.

DarkPhoenixX

Mitglied
Hallo

In meinem Programm habe ich mehrere Klassen. Diese registrieren sich beim dem regDA.
Der regDA erzeugt daraufhin mehrere Objekte dieser Klassen.
Meine Frage ist, wie kann der regDA die Namen für die Objekte beim erstellen festlegen.

Also im regDA ist ein String

String name = "Test"

Test <> = new Test();

Für Hilfe wäre ich dankbar
 
Wieso legst du nicht alle Objekte in einem Array/Vector an? Dann brauchst du gar keine Namen und kannst trozdem mittels Index darauf zugreifen. Bsp:
Code:
vecVector.add(new Instance)
 
Falls du unbedingt Namen haben willst, kannst du auch zusätzlich eine HashMap anlegen, in der du zu den Namen die Indizes der Objekte im Vector speicherst.
 
Indexes will ich vermeiden, da sonst jede Klasse wissen muss, welchen Index welcher Wert hat, bzw. Name.
Die Objekte sollen wie Agenten miteinander kommunizieren und sollten deshalb einen Namen haben.
Deswegen ist es wichtig, das der Name das Objekt repräsentiert.
Code:
Agent albert = new Agent();
Agent jeff = new Agent();
Net i = new Net();

alber.methode();
jeff.methode();

etc.

Code:
array[i]
wäre möglich, wäre aber um einiges mehr Programmieraufwand, denn man sich einfach durch Namen ersparen könnte.
Wie erwähnt, die Objekte regestrieren sich über regDA.
 
array[ i ] wäre möglich, wäre aber um einiges mehr Programmieraufwand, denn man sich einfach durch Namen ersparen könnte.
Wie erwähnt, die Objekte regestrieren sich über regDA.

Du Programmierst noch nicht lange oder? ÜBerleg mal, was birngen dir die Objektnamen, wenn sie sowieso nur zur Laufzeit existieren? Wenn du einen festen Namen im Code ansprichst, dass macht das deinen Code aber nicht sehr dynamisch, sehr steif = also schlecht erweiterbar. Und das geht dann wieder gegen die Objektorientierung...
 
Falsch geraten, ich programmiere schon 5 Jahre lang.
Aber du hast recht, die Frage ist ungewöhnlich und ja, ich gehe gegen Obejktorientierung.;)

Mich interessieren nur die Objekte, die zur Laufzeit exestieren.
Vielleicht sagt dir Agentensystem etwas.
Die Objekte haben alle unterschiedliche Methoden mit dennen sie selbstständig reagieren.
Das heißt Aktion, Reaktion. Sie vermehren sich, erfüllen ihre Aufgabe, etc. und killen sich, wenn sie nicht mehr gebraucht werden. Dabei kommunizieren sie miteinander.
Der Witz ist nur, dass ganze soll über ein Netzwerk laufen und die Agenten müssen nicht gleich sein.
So laufen fremde Agenten herum, die sich bei deinem regDa Agenten registrieren und sagen was sie können. Sucht ein anderer Agent einen Dienst, den er selbst nicht besitzt, holt er sich ihn von einem anderen Agent. Dabei ist es völlig egal, wer wo von wem kommt.
Wichtig ist nur ein eindeutiger Name des Objekts! Sonst gibt es Krach.
Außerdem kann man dann ableiten, welcher Agent das Kind von einem anderen ist.

Mit anderen Sprachen geht das, nun würde ich das auch gerne bei Java einsetzen.
Also frage ich einmal direkt.

Gibt es eine Methode mit der man

Class <name> = new Class();

name benennen kann. Sinnhaftigkeit jetzt mal ausgeklammert.
 
Indexes will ich vermeiden, da sonst jede Klasse wissen muss, welchen Index welcher Wert hat, bzw. Name.

Wichtig ist nur ein eindeutiger Name des Objekts! Sonst gibt es Krach.

Wie passt das zusammen?

Du bewegst dich im Mirkokosmos der einfachn OO Programmierung und möchtest möglichst out of the box Agentensysteme implementieren? Sorry, aber da passen einfach die Abstraktionsneveaus nicht zueinander. Wenn Agentensysteme so einfach zu implementieren wären, wären wir sicher schon lichtjahre vorraus in diesem Bereich.

In anderen Sprachen geht das so einfach? Bitte, da hätt ich gern mal Beispiele.

Ich hab das Gefühl du hast da ein paar nette theoretische Papers zu Agentensystemen gelesen und meinst nun, dass müsse irgendwie mit ner gängigen Sprache gehen. Wie gesagt, das passt net.

Vielleicht solltest du erst im Kleinen beginnen?

Gruß
Ollie
 
Das war sehr beleidigend.

Vielleicht solltest du mal nachdenken, weshalb ich so versessen bin,
Namen zu vergeben. Vielleicht, weil es irgendwo eine reale Vorlage gibt?
Nein, ich bin ja nur ein bescheuerter Anfänger, der gerade im Kiosk sich eine Zeitschrift mit Agenten besorgt, am besten gleich eins, wo eine Anleitung für ein menschliches Hirn steht.
Kauf dir lieber auch eins, dann wüsstest du, dass es mehrere Arten von Intelligenz gibt.
Und ich kenne meine Maßstäbe.

Das ist nichts gegen dein Person Olli
Du magst gut sein, indem was du tust, aber behandle mich nicht wie Dreck.
Das kann ich nicht leiden.

Was ist so schwer, mir einfach zu sagen, ob es mit Java geht oder es nicht geht.
Einem Objekt einer Klasse einen Namen zuzuweisen, der aber im Code variable ist.
Meine Frage war nicht, ob ich ein Agentensystem in Java schaffe.

Ich wäre dankbar, wenn ich eine einfache Antwort bekommen würde, danke.
 
Zuletzt bearbeitet:
Wo bitte bin ich denn persönlich geworden? Ich hab lediglich angemerkt, dass du meiner Meinung nach Abstraktionsniveaus vermischt. Das ist rein fachlich. Weiterhin ist mir halt aufgefallen, dass sich deine Angaben FÜR MICH widersprechen und hab dich um Erklärung gebeten.

Von was für einer Vorlage redest du denn? Was hat ein menschliches Hirn mit der Fragestellung zu tun? Holst du vielleicht ein wenig zu weit aus?

Eine einfach Antwort? 42. Spass beiseite - dir wurde geantwortet. Normalerweise werden solche Registries mit HashMaps realisiert. Oder irgendeiner Form von Liste, je nach konkreter Anforderung.

Gruß
Ollie
 
Zuletzt bearbeitet:
Gut danke, diese Information hat mir weitergeholfen.

Bezüglich Vorlage, wenn du Interesse hast, im April gibt es in Peking eine Messe. ^^

Gut diese Frage ist beendet.
CLOSED
 
Zurück