我想在单独的java文件中保留尽可能多的东西,以便于代码可读性和调试问题。
我有一个名为 Actor 的java类。 Actor类被设计为一个包含所有Actor的对象(如在从Actor类信息创建的Object中,但也可用于其他东西,如怪物等。
另一个名为状态的课程。该类处理所有状态问题,并将修改属性到Actor(例如:如果它们被击晕)。
我希望这个Status Class成为Actor的一部分,而不需要嵌套类。这可能吗?
答案 0 :(得分:3)
你是对的 - 你不应该为此嵌套内部类或继承。用组合可以很容易地解决这个问题:给Actor类一个带有getter和setter方法的Status字段。
public abstract class Actor {
private Status status;
public Actor() {
status = new Status(); // default empty status
}
public Actor(Status status) {
this.status = status;
}
public void setStatus(Status status) {
this.status = status;
}
public Status getStatus() {
return status;
}
}
修改
澄清:我推荐使用继承的解决方案,因为许多类将继承Actor,但是不会通过让Actor扩展Status或Status扩展Actor来试图误用继承。
答案 1 :(得分:2)
class Actor{
private Status mStatus;
public void stun(){}
}
作文将帮助你