public static void Main(string[] args) { // (1+2) + (20-10) var esquerda = new Soma(new Numero(1), new Numero(2)); var direita = new Subtracao(new Numero(20), new Numero(10)); var soma = new Soma(direita, esquerda); var impressora = new ImpressoraVisitor(); soma.Imprimir(impressora); // visitor age aqui Console.WriteLine(" = " + soma.Avaliar()); Console.ReadKey(); }
public static void Main(string[] args) { IExpressao expressao = new Soma(new Numero(110), new Subtracao(new Numero(20), new Numero(8))); Console.WriteLine(expressao.Avalia()); IVisitor visitor = new ImpressoraVisitor(); expressao.Aceita(visitor); Console.WriteLine(""); visitor = new PreFixaVisitor(); expressao.Aceita(visitor); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("Visitor"); // (1+10) + (20-10) IExpressao esquerda = new Soma(new Numero(1), new Numero(10)); IExpressao direita = new Subtracao(new Numero(20), new Numero(10)); IExpressao soma = new Soma(esquerda, direita); int resultado = soma.Avalia(); Console.WriteLine(resultado); ImpressoraVisitor impressora = new ImpressoraVisitor(); soma.Aceita(impressora); }
public void Imprimir(ImpressoraVisitor impressora) { impressora.ImprimiSoma(this); }
public void Imprimir(ImpressoraVisitor impressora) { impressora.ImprimiNumero(this); }
public void Imprimir(ImpressoraVisitor impressora) { impressora.ImprimiSubtracao(this); }