对象中的 Java 对象

标签 java

为了代码可读性和调试问题,我想在单独的 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/

相关文章:

java - 如何在折线图中设置左右 y 轴的填充

java - 使用servlet将图像路径插入数据库

java - 检查按钮是在Java中的不同类中单击

java - 未将 JAX-RS 自定义 header 添加到重定向响应

java - MainActivity 泄露了最初在此处添加的窗口 com.android.internal.policy.impl.PhoneWindow$DecorView@413da0c0

java - Hibernate 多对多连接表不为继承的实体保留

java - 从另一个java文件访问多个类

Java:NIO 和 NIO.2 到底有什么区别?

java - 使用正则表达式检查字符串是否包含表情符号

java - JXTable日期列