我正在制作一个模拟java语言,它有很多方法。我会将类似的方法组合在一起并将它们放入自己的类中,但是所有方法都需要扩展一个处理如何中断数据的类。就运行时性能而言,组织它们的最有效方法是什么?
现在,它只是一个类 (ListOfMethods
) 中的一堆方法,使用带有 if-else 语句的特殊方法调用来查找正确的方法,例如:
public void methods(String name, String param) throws NumberFormatException, InterruptedException {
if (name.equals("systemexit")) SystemExit(param);
else if (name.equals("sleep")) sleep(param);
}
public void SystemExit(String param)
{
int exit=(int)Double.parseDouble(param);
System.exit(exit);
}
public void sleep(String param) throws NumberFormatException, InterruptedException
{
Thread.sleep((long)Double.parseDouble(param));
}
我并不是想改变这种格式,只是改变方法的组织方式。我想将它们分为几类,例如数学和字符串,但我想知道执行此操作的最佳方法是什么?
ListOfMethods
可以扩展每个类。问题是 Java 不支持多重继承,因此类 1 将扩展类 2,类 2 将扩展类 4,等等。ListOfMethods
可以导入每个类。问题在于它们都需要扩展一个父类(super class)。这样效率低吗?- 将它们放入不同的类中并将方法设为静态(与前一个非常相似)。
- 只需保持原样即可。
我愿意接受其他建议 - 我希望使其尽可能高效。提前致谢。
注意:该类将同时运行数百个实例 - 这只是实际问题的一个简短示例 - 所以我真的不想浪费内存。
最佳答案
我的建议是暂时忽略运行时效率,专注于让你的语言正常工作。当它工作时,对其进行分析并使用它来决定需要提高哪些效率(更)。目前,无法预测实际的效率问题是什么。您现在在这个问题上花费的努力很可能会被浪费。
所以我的建议是选项 4。
或者选项 5 - 首先,选择您认为将使代码编写和维护变得最简单的方法。
关于java - 组织大量方法的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18414591/