Eigenschaften von Objecten

Status
Nicht offen für weitere Antworten.

darkeye2

Bekanntes Mitglied
Hallo, in der OOP dreht sich ja alles um objecte (classen) die eigenschaften, methoden, ... haben. Nun will ich ein objekt haben, das alle objecte außenrum beeinflüssen kann. Um genau zu sein mein Object ist ein Magnet, nun hat ein object ja die eigenschaft, dass er metalle anzieht. Wie kann ich es machen, dass mein "Magnet" bei ALLEN objecten, die in einen bestimmten umkreis liegen erst die methode getMaterial abruft und danach alle Metalle anzieht.
Ich weiß vorher weder wie viele objekte in der nähe sein werden, noch welche.

MfG
darkeye
 

darkeye2

Bekanntes Mitglied
^^ ok, ist etwas doof formuliert, ich habe ein jpanel das ein "spielfeld" darstellen soll, der user kann darauf objecte plazieren, die anzahl ist eigentlich net beschränkt, also können es auch mal 50 werden, jedes object hat eben eine eigenschafft material, die sich mit getMaterial abfragen lässt.
Und wie oben schon beschrieben muss mein "magnet" alle objecte nach ihren material abfragen.

MfG
darkeye
 
G

Gastredner

Gast
Du musst die Objekte ja irgendwo verwalten, z. B. in einer Liste. Über diese könntest du iterieren, über die Koordinaten der Objekte die Entfernung zu deinem Magneten errechnen und dann, wenn diese innerhalb des "kritischen" Radius liegen, getMaterial() aufrufen.
 

Onkel Hatti

Bekanntes Mitglied
Dazu tät ich:

1. Ein Interface definieren, dass die Methode "getMaterial" implementiert.
2. Die "Umgebung" definieren, in der Objekte gesucht werden.
3. Alle Objekte in der Umgebung erkennen lassen.
4. Über "if (objekt instanceof ObigesInterface){ material=((ObigesInterface)objekt).getMaterial()}" das Material holen

Hatti
 

darkeye2

Bekanntes Mitglied
Danke für die tipps, auch wenn ich noch net ganz durchblicke ... also:
ich habe ja meine jpanel, einmal Feld und einmal Auswahl
Auf auswahl sind objecte da, als bilder und können vom benutzer per drag and drop auf Feld gezogen werden, nun wird bei Feld eine instanz vom jeweiligen object erstellt, mit den jeweiligen koordinaten.
also danach sind meine objecte alle auf jpanel, mein magnet kann jetzt, wenn er wüsste, welche kommponenten da sind, abfrgen, ob metal, wenn ja, welches gewicht und wie weit entfernt.
also das problem ist eben, dass ich alle objecte auf dem panal irgendwie erkennen müsste.
 

Landei

Top Contributor
Wie schon gesagt, man kann die Objekte in einer Liste oder so speichern.

Als Alternative: Alle Komponenten, die einem JPanel hinzugefügt wurden, kann man mit jPanel.getComponents(); abfragen.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben