【问题标题】:How do I minimize the amount of code for a hierarchy如何最小化层次结构的代码量
【发布时间】:2019-11-02 21:09:13
【问题描述】:

这是为了学习。我有一个由 2 个类实现的接口,我应该减少我使用的代码量,以使事情更干净,更少混乱。目前,代码如下所示:

public abstract class VClass implements IntFace {

  protected String name;

  public VClass(String name) {
    this.name = name;
  }

  public int value (SClass sc) {//comes from a diff class
    return sc.lookup(name);
  }

  public String getName() {
   return name; 
  }

  @Override
  public String toString() {
   return getName(); 
  }
}

public abstract class NClass extends VClass implements IntFace {

  public Number(String name) {
   super(name);
     this.name = name;
  }

  public int value (SClass sc) {
    return sc.lookup(name);
  }

  public String getName() {
   return name; 
  }

  @Override
  public String toString() {
   return getName(); 
  }
}

public interface IntFace {

  public int value (SClass sc);

  public String toString (int num);
}

这段代码可以更简洁吗?

【问题讨论】:

  • “我知道他们没有返回类型。”。方法具有返回类型。既然你知道的不多,建议你入手here。它是比你在这里做的任何事情更好的学习资源。
  • 嗨,谢谢,我只是想看看我的代码能压缩多少。

标签: java interface hierarchy


【解决方案1】:

您可以从代码中删除以下内容:

  1. implements IntFace 来自 NClass 声明。由于NClass extends VClass,它也实现了IntFace
  2. this.name = name; 来自 NClass 构造函数。 name 在超类构造函数中初始化
  3. 来自NClassvaluegetName 方法。这些方法在超类中实现。
  4. public 来自接口方法声明的修饰符。接口中的方法默认为public

现在您也可以将name 字段设为private,因为它不再用于NClass

【讨论】:

    猜你喜欢
    • 2016-01-22
    • 2018-01-08
    • 2016-06-20
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多