我正在从简报中构建一个基本游戏,并且已经获得了一些代码来查看。游戏中的所有角色都是游戏对象,有些是可移动的,有些则不是。可移动的有位置和方向。
我得到了一个 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");
}
}
据我所知,这称为聚合。我认为这是用于 HAS-A 关系,而不是 IS-A。既然角色是可移动的对象,我不应该使用继承还是接口?我也不明白为什么你需要创建一个 MoveableObject 的实例,如果每个角色要么是可移动的,要么是不可移动的,当然,你应该赋予它们可移动或不可移动的能力(通过继承或接口)然后实例化性格?
提前致谢。