例如:一个不使用访问者的代码生成器可能会通成员类的抽象的方法:tmember.writeinterfacecode(output: tstream)生成代码。每一个成员都会调用writeinterfacecode生成适当的输出代码。如果通过访问者来生成代码,则会创建一个tinterfacecodevisitor对象,并在成员列表上调用参数为访问对象的acceptvisitor方法。每一个在员在实现acceptvisitor将会回调visitor:一个字段将调用访问者的visitfield方法,而一个方法则调用visitmethod方法。这样,以前类tfield的writeinterfacecode操作现在成为tinterfacecodevisitor的visitfield操作。