0

インターフェイスについて質問があります。GameWorld というクラスのすべてのメソッドを持つインターフェイスがあります。GameWorld には、戦車、岩、ミサイルなどの GameObject と呼ばれるクラスがあります。

public interface IGameWorld
{
public Point getLocation(); // GameObject
public Color getColor();
public void setLocation(Point newCoord);
public void setColor(Color newColor);
}

IGameWorld のメソッドを GameWorld の GameObject クラスに実装したいと考えています。このようなもの。

public class GameWorld implements IGameWorld
{
  // vector to hold gameobjects
public class GameObject 
{
 private Point location;
 private Color color;     // all objects have a random color     
GameObject()
{
  // method 
}
public Point getLocation()
{
  // method
}
public Color getColor()
{
  // method
}
public void setLocation (Point newCoord)
{
  // method
}
public void setColor (Color newColor)
{
  // method
}
 }
}

それは可能ですか?そうでない場合、これを行う代わりに何ができますか? ありがとう。

4

3 に答える 3

1

クラスのインスタンス/オブジェクトを作成します。オブジェクトを表す別のクラスを定義する必要はありません。とにかく、クラス GameWorld は IGameWorldを実装し、GameWorld は GameObject クラスではなくすべてのメソッドを実装する必要があるため、間違っています。

GameObject クラスを削除できます

public class GameWorld implements IGameWorld
{
 private Point location;
 private Color color;     // all objects have a random color     
public Point getLocation()
{
  // method
}
public Color getColor()
{
  // method
}
public void setLocation (Point newCoord)
{
  // method
}
public void setColor (Color newColor)
{
  // method
}
}

次に、この具象クラスのインスタンス/オブジェクトを作成します

IGameWorld gameObject = new GameWorld();
于 2013-10-30T06:36:14.250 に答える