そのため、メイン ドライバーで作成されたクラスのインスタンスを読み取ることができるようにするには、委任クラス (ref) が必要です。ref でクラス参照を作成しようとしましたが、それは世界でより多くのオブジェクトを作成しただけで、元のオブジェクトを動かしませんでした。
メインドライバーコード:
public static void main(String args[])
{
AbstractTrackRobot Sprint100Bot = new Sprint100Bot(1,1,North,0);
AbstractTrackRobot Sprint200Bot = new Sprint200Bot(1,1,North,0);
AbstractTrackRobot Sprint400Bot = new Sprint400Bot(1,1,North,0);
AbstractReferee ref = new TrackReferee(1,1,North,0);
ref.meet();
}
TrackReferee コード:
public class TrackReferee extends AbstractReferee
{
AbstractTrackRobot Sprint100Bot = new Sprint100Bot(1,1,North,0);
AbstractTrackRobot Sprint200Bot = new Sprint200Bot(1,1,North,0);
AbstractTrackRobot Sprint400Bot = new Sprint400Bot(1,1,North,0);
public TrackReferee(int st, int ave, Direction dir, int Beepers)
{
super(st, ave, dir, Beepers);
}
public void meet()
{
Sprint100Bot.run();
Sprint200Bot.run();
Sprint400Bot.run();
}
}
編集:申し訳ありませんが、明確にする必要がありましたが、メインドライバーのコードを変更することは許可されていません。これは、既に提供されているためです。