私はWorldOfRobotsとRobot(abstract)という2つのクラスを持っています。どちらも公開です。ロボットの世界は基本的にロボットのarraylistです。 それから、私はロボットの延長線上にあるクラステレボットを持っています。 私は現在のオブジェクトTelebotがあるロボットのリストを識別し、取得するメソッドTelebotでメソッドを構築しようとしています。 例: 2つのWorld of Robots(wor1とwor2)と1つのtelebot(r1)を作成します。 wor1にr1を追加します。 私は、クラスtelebotのメソッドでwor1のロボットのリストを取得する方法を取得したいと思います。Java他のクラスからオブジェクトのリストを取得
ここにコードがあります。
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;
}
}
ありがとうございました。
'WorldOfRobots wor'という追加パラメータを' Telebot'コンストラクタに渡してそこに割り当てることができます。 – SomeJavaGuy
私はここでサイクリック依存関係を嗅いでいますが、多分あなたはテレボのクラスでworの使用法についてあなたのユースケースを詳しく説明することができます。テレボットとロボットの世界の関連で何を達成したいですか? – Sikorski
ロボットのリストをループして、テレボットがいくつかの属性を別のものと共有しているかどうかを確認したいと思います。通常、WoRは1つしかなく、複数のロボットを追加することができます。 – Cephou