我对接口有疑问。我有一个接口,该接口具有称为GameWorld的类的所有方法。 GameWorld拥有一个称为GameObject的类,可以是坦克,岩石,导弹等。
public interface IGameWorld
{
public Point getLocation(); // GameObject
public Color getColor();
public void setLocation(Point newCoord);
public void setColor(Color newColor);
}
我想在GameWorld的GameObject类中的IGameWorld中实现这些方法。这样的东西。
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
}
}
}
那可能吗?如果不是,那么替代方法是什么?谢谢。
最佳答案
您可以创建类的实例/对象。无需定义代表您的对象的单独的类。无论如何,您做错了,因为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();