0

インターフェイスGameObjectも実装するクラスのオブジェクトを渡したいです。Collidableどのように見えるべきですか?

private boolean isCollision(GameObject<? extends Collidable> collid) {
}

どのように見えるべきですか?collidと の両方のインスタンスである必要がありGameObjectますCollidable

4

2 に答える 2

3

collidが aGameObject aであることを確認したい場合は、次のCollidable構文を使用できます。

private <T extends GameObject & Collidable> boolean isCollision(T collid)
于 2013-02-11T15:14:14.130 に答える
0

GameObjectおよびを拡張するインターフェイスを定義する方が簡単な場合がありますCollidable。次に、パラメーターがその型であることを宣言します。

public interface CollidableGameObject extends GameObject, Collidable {
}

次に、あなたの方法は次のようになります。

private boolean isCollision(CollidableGameObject collid) {
}

何かが欠けていない限り、ジェネリックは必要ないようです。まだインターフェイスになっていない場合GameObjectは、インターフェイスにすることを検討してください。

于 2013-02-11T15:15:35.227 に答える