共 6 道题目
解析:编译器 AST 节点种类相对固定,但类型检查、代码生成、优化等操作会增加。
解析:单靠重载在 Java 里会按静态类型分派;accept 把运行时类型交给访问者,形成双分派。
解析:这是访问者的收益:操作可扩展,稳定的元素类少改。
解析:这是访问者的代价:元素种类变化成本高。
解析:节点把自己交给访问者,由访问者对该类型执行具体算法。
解析:对象结构走一遍 accept,换 Visitor 即换操作,这是访问者的标准用法。