【发布时间】:2011-07-01 17:48:57
【问题描述】:
我正在尝试使用没有 switch case 或 if/else 语句的跳转表创建一个简单的 4 函数计算器。我知道我可以通过函数指针创建跳转表,但我有点空白。我从程序的加法和减法部分开始,但我试图掌握要使用的设计/策略。将方法放入数组时也出现错误,到目前为止,这就是我所拥有的:
public class Calculator {
public abstract class Functor{
abstract double Compute(double op1, double op2);
}
class Addition extends Functor
{
public double Compute(double op1, double op2){ return op1 + op2;}
}
class Subtraction extends Functor
{
public double Compute(double op1, double op2){ return op1 - op2;}
}
public static void main(String[] args) {
Functor add = new Addition(); // Problem here
Functor sub = new Subtraction(); // and here
}
}
非常感谢您在正确方向上迈出的任何帮助或想法! 提前致谢!
【问题讨论】:
-
每次遇到这种情况,我都好想回到 Scala!
标签: java class function pointers abstract