在 Java 中使用访问者模式进行双重调度

问题描述

我有这样的架构:

architecture Visitor pattern

XMLFormulaFormatter 中,我需要 Constant 实例的值(在我的 Main 类中创建的实例)。

我在 Constant 类中有这个方法:

public double asValue() { return value ; }

我在 XMLFormulaFormatter 类中尝试过此代码:

@Override
     public String visit(Constant constant){ 
        latexConstant = constant.asValue() ;
        return "";
        }

但当然它并没有给我我正在看的东西,因为我想获得 Constant... 的特定实例的值

我也试过 format()XMLFormulaFormatter 方法:

@Override
    public String format(Formula format){ format.accept(this);
    if (format instanceof Constant){
        latexConstant= format.asValue();
        return "";
        }

但结果与预期相同。

对如何获取 Constant 的特定实例的值有任何想法吗?

谢谢!

解决方法

我想我有,我需要一个 AbstractVariadicOperator 的吸气剂

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...