2012-08-15 27 views
0

我採取一個比賽,我有一些像clases:聲明擴展類的引用,並實施其他

GameObject (Abstract) 
CircularGameObject 
RectangularGameObject 

他們基本上存儲位置(x,y)和不同形狀的碰撞檢查。

現在我想要實現的類(矩形)和炸彈(循環)。兩者都可以啓用或禁用,所以我宣佈

public interface Activable { 

    public void setEnabled(boolean status); 
    public boolean isEnabled(); 
} 

我有存儲器,用來存儲殺死在碰撞(牆壁和炸彈)玩家項目的參考一個列表。 如何聲明擴展GameObject並實現Activable的對象的ArrayList?

我試圖聲明一個類:

public class ActivableGameObject extends GameObject implements Activable{}; 

但是編譯器不允許分配給該參考例如炸彈(因爲是CircularGameObject)

+0

爲什麼'Bomb'和'Wall'擴展'ActivableGameObject'? – martijno 2012-08-15 09:48:16

+0

感謝您的回答。因爲我需要使用炸彈來擴展ActivableCircularGameObject,擴展ActivableRectangularGameObject(爲了訪問它們的API)和用於指向牆壁和炸彈的泛型引用 – Addev 2012-08-15 09:52:45

回答

1

一種方式是可以有:

`GameObject implements GameObjectInterface {}` 

則:

`Activable extends GameObjectInterface` 

你可以用這種方式具有使陣列使用激活的。

1

嘗試......

Class Bomb extends CircularGameObject implements Activable { 

}