在 Java 中使用访问者模式进行双重调度
Double dispatch using visitor pattern in Java
我有这样的架构:
在 XMLFormulaFormatter
中,我需要 Constant
实例的值(在我的 Main class 中创建的实例)。
我在Constant
class中有这个方法:
public double asValue() { return value ; }
我已经在 XMLFormulaFormatter
class:
中尝试过此代码
@Override
public String visit(Constant constant){
latexConstant = constant.asValue() ;
return "";
}
但是当然它并没有给我我正在查看的内容,因为我想获得 Constant
...
的特定实例的值
我也试过XMLFormulaFormatter
的format()
方法:
@Override
public String format(Formula format){ format.accept(this);
if (format instanceof Constant){
latexConstant= format.asValue();
return "";
}
但结果与预期相同。
关于如何获取 Constant
的特定实例的值有什么想法吗?
谢谢!
我想我有,我需要 AbstractVariadicOperator
中的 getter
我有这样的架构:
在 XMLFormulaFormatter
中,我需要 Constant
实例的值(在我的 Main class 中创建的实例)。
我在Constant
class中有这个方法:
public double asValue() { return value ; }
我已经在 XMLFormulaFormatter
class:
@Override
public String visit(Constant constant){
latexConstant = constant.asValue() ;
return "";
}
但是当然它并没有给我我正在查看的内容,因为我想获得 Constant
...
我也试过XMLFormulaFormatter
的format()
方法:
@Override
public String format(Formula format){ format.accept(this);
if (format instanceof Constant){
latexConstant= format.asValue();
return "";
}
但结果与预期相同。
关于如何获取 Constant
的特定实例的值有什么想法吗?
谢谢!
我想我有,我需要 AbstractVariadicOperator