我应该在哪里声明和/或实现我的自定义结果命令?

时间:2014-12-08 11:27:52

标签: java

我应该将自定义对象作为函数结果返回:

class ConvertCommand  implement AbstractCommand {
    public ResultCommand startConvert(){
       return new ResultCommand(true, str);
    }
}

我有这个类的接口:

interface AbstractCommand{
    public ResultCommand startConvert()   
}

我应该在哪里声明和/或实现ResultCommand:

  1. 在ConvertCommand.java中作为内部类?

  2. 在新文件中

  3. 在界面AbstractCommand

1 个答案:

答案 0 :(得分:3)

这取决于整体结构。据我所知,你提到的可能性清单已经完成。所以让我们一个接一个地浏览它们。

ConvertCommand

中的内部班级

如果ResultCommand需要访问ConvertCommand中的字段,或者与ConvertCommand有非常密切的关系,那么这是一个不错的选择。

在新文件中

如果外部视图ResultCommandAbstractCommand一样interface AbstractCommand,则这是最佳解决方案。

AbstractCommand

如果ResultCommand在字段或static方法中提供{{1}}的实例,这可能是一个很好的解决方案。