对于我的学期项目,我和我的团队应该创建一个包含游戏开发框架并演示OOP概念的.jar文件(库,不可运行)。它应该是一个框架,另一个团队应该使用我们的框架,反之亦然。所以我想知道我们该如何开始。我们考虑了几种方法:
1.从一个普通类抽象基类或类?
public class Enemy {
public Enemy(int x, int y, int health, int attack, ...) {
...
}
...
}
public class UserDefinedClass extends Enemy {
...
}
2.开始用一个抽象类,用户定义的敌人要继承抽象成员
public abstract class Enemy {
public Enemy(int x, int y, int health, int attack, ...) {
...
}
public abstract void draw();
public abstract void destroy();
...
}
public class UserDefinedClass extends Enemy {
...
public void draw() {
...
}
public void destroy() {
...
}
}
3.创建全部继承的超级ABC(抽象基类)
public abstract class VectorEntity {
...
}
public abstract class Enemy extends VectorEntity {
...
}
public class Player extends VectorEntity {
...
}
public class UserDefinedClass extends Enemy {
...
}
我应该使用哪一个?或者,还有更好的方法?
还有“有效的Java”,在这种情况下更适用。它描述了类似的东西,但是对于Java更特定的东西 - 比如当基类不全是抽象类型时,如果equals()并不适用于混合派生类型和基类型。 – 2010-05-14 18:44:25