Java ではインターフェイスでインスタンス フィールドを使用できないことを知りましたが、この機能が本当に必要です。
私は最初のゲームを作成することを学んでいます。Hero私のゲームには、 (プレイヤーが制御する)Boss、、、などのさまざまな種類のアクターがありCanonます...
種類に関係なく、すべてのアクターがModelなどのサブクラスにいくつかのフィールドを与える基本クラスから継承し、 のすべてのサブクラスがMVC パターンのようにpositionおよびwidthに関連付けられるようにしたいと考えています。heightModelControllerRenderer
public class Model {
//position
public float x;
public float y;
public float width;
public float height;
}
ちなみに、Heroandは死ぬことのできる実体だと思っていたので、例えばフィールドとして持つように強制されたBossインスタンスにしたいのですが、 a は不死の実体になるのでaではありません。したがって、私は試しました:Lifepublic float hitPoint;CannonLife
public interface Life {
public float hitPoint;
}
のインスタンスが期待されます
public class Hero extends Model implements Life {...}
を本質的に持っていhitPointます。しかしその後、Interface のインスタンス フィールドは Java では許可されておらず、多重継承もサポートしていないことを知りました。
上記の設計を Java で実現することは可能ですか。