2

ゲーム内のオブジェクトのいくつかのプロパティを定義しようとしているので、インターフェイスを使用してそれらを指定します。

インターフェイスを作成しましたが、Interactableインターフェイスを作成したいと思います。これは、インタラクションが食べるためEatableに明らかに実装されますInteractableが、インターフェイスにメソッドを実装できないため、それはできません。

回避策はありますか?

public interface Interactable {
    void interact();
}

public interface Eatable implements Interactable {
    public void eat();
    public void interact() {
        // Obviously, this doesn't work
        eat();
    }
}
4

2 に答える 2

1

まず、インターフェイスは別のインターフェイスを拡張し、Eatable 抽象クラスを作成し、実装を作成することしかできませんInteractable

public abstract class Eatable implements Interactable {
    public void eat();
    public void interact() {
        eat();
    }
}
于 2012-12-10T00:20:25.843 に答える
1

Iterfacesは、他のインターフェースを「拡張」できます。

ただし、この場合は、抽象基本クラス「Food」またはInteractableを実装するものを作成し、そのinteract()メソッドは抽象eat()メソッドを呼び出します。

于 2012-12-10T00:20:31.393 に答える