public void TestMethod_Recurso_Internal() { var endereco = new Endereco(); var pessoa = new Pessoa(); pessoa.Andar(); }
static void Decorator_Exemplo1() { var pessoa = new Pessoa(); Console.WriteLine("usando Pessoa:"); Console.WriteLine(pessoa.Andar()); Console.WriteLine(); var pessoaRapida = new PessoaRapida(pessoa); Console.WriteLine("usando PessoaRapida:"); Console.WriteLine(pessoaRapida.Andar()); Console.WriteLine(pessoaRapida.Correr()); Console.WriteLine(); var pessoaLenta = new PessoaLenta(pessoa); Console.WriteLine("usando PessoaLenta:"); Console.WriteLine(pessoaLenta.Andar()); }
//note que se passar um objeto do tipo Pessoa nem funcionaria de fato, deve ser conreto public static void UmOutroMetodo(Pessoa pessoa) { WriteLine(pessoa.Nome); //vai pegar o que foi usado na classe concreta pessoa.Andar(); //vai lançar a exceção }