Ich habe zwei Klassen: WorldOfRobots und Robot (Zusammenfassung). Beide sind öffentlich. Die Welt der Roboter ist im Grunde eine Arraylist des Roboters. Dann habe ich eine Klasse TeleBot, die eine Erweiterung von Robot ist. Ich versuche, eine Methode in der Klasse Telebot zu bauen, die die Liste der Roboter identifizieren und erhalten wird, wo das aktuelle Objekt Telebot ist. Zum Beispiel: Ich erstelle 2 World of Robots (wor1 und wor2) und dann 1 telebot (r1). Ich füge r1 in wor1 hinzu. Ich möchte einen Weg finden, um die Liste der Roboter von wor1 in einer Methode der Klasse TeleBot zu bekommen.Java Holen Sie sich die Liste eines Objekts aus einer anderen Klasse
Hier ist ein bisschen Code.
abstract class Robot {
// content
}
public class Telebot extends Robot
{
// instance variables - replace the example below with your own
private WorldOfRobots wor;
public Telebot(String newName, String newDirection)
{
super(newName, newDirection);
}
public void something {
// here I'm trying to get the list
wor = new WorldOfRobots();
ArrayList<Robot> robots = wor.getList();
// Unfortunately this solution doesn't work cause I'm creating a new WOR. What I want is to get the WOR where the Telebot belong.
}
}
public class WorldOfRobots {
// List of robots
private ArrayList<Robot> robots;
public WorldOfRobots() {
robots = new ArrayList<Robot>();
}
public ArrayList<Robot> getList() {
return robots;
}
}
Danke für Ihre Hilfe.
könnten Sie einen zusätzlichen Parameter 'WorldOfRobots wor' an den 'Telebot'-Konstruktor übergeben und dort zuweisen. – SomeJavaGuy
Ich rieche zyklische Abhängigkeit hier, vielleicht könnten Sie auf Ihren Anwendungsfall, was ist der Einsatz von wor in Telebot-Klasse. Was wollen Sie mit der Assoziation von Telebot und Roboterwelt erreichen? – Sikorski
Ich möchte meine Liste von Robotern loopen, um zu überprüfen, ob mein TeleBot einige Attribute mit anderen teilt. Beachten Sie, dass normalerweise nur ein WoR vorhanden ist und mehrere Roboter hinzugefügt werden können. – Cephou