ブリーフから基本的なゲームを構築しており、確認するコードがいくつか与えられています。ゲーム内のすべてのキャラクターはゲーム オブジェクトであり、移動可能なものもあれば、そうでないものもあります。動くものには位置と方向があります。
MoveableObject クラス (以下) が与えられました。可動ゲームオブジェクトは、独自のコンストラクターでこのクラスをインスタンス化します。このコードが正しいとは保証されていないので、その背後にある理論を理解しようとしています。
public class MoveableObject {
int speed;
String direction;
public MoveableObject(){
speed = 0;
direction = "unknown";
}
public MoveableObject(int iSpeed, String sDirection){
speed = iSpeed;
direction = sDirection;
}
すべての可動キャラクターは、コンストラクターでこのクラスのインスタンスを作成します。たとえば、吸血鬼のクラスから。
public class Vampire
public Vampire(){
MoveableObject thisObject = new MoveableObject(30, "South-East");
}
}
私の知る限り、これは集約として知られています。これは、IS-A 関係ではなく、HAS-A 関係で使用されるものだと思いました。キャラクターは可動オブジェクトなので、継承やインターフェイスを使用しないでください。また、MoveableObject のインスタンスを作成する必要がある理由もわかりません。各キャラクターが移動可能かどうかに関係なく、(継承またはインターフェイスを介して) 移動可能かどうかを指定してからインスタンス化する必要があります。キャラクター?
前もって感謝します。