为了代码可读性和调试问题,我想在单独的 java 文件中保留尽可能多的东西。
我有一个名为 Actor 的 java 类。 Actor 类被设计成一个包含所有 Actor 的对象(如从类 Actor 信息创建的对象,但也可用于其他事物,如怪物等。
另一个类叫做Status。这个类负责处理所有状态异常,并将修改 Actor 的属性(例如:如果他们被击晕)。
我希望这个 Status Class 成为 Actor 的一部分,而不嵌套这些类。这可能吗?
最佳答案
你是对的——你不应该为此嵌套内部类或继承。这个问题很容易通过组合解决:给 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 来滥用继承。
关于对象中的 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21206566/