public static void Main() { IFunc pf = new ClasseB(); pf.Func1(); pf = new ClasseA(); pf.Func1(); ClasseA a = (ClasseA)pf; a.Func1(); ClasseB b; try { b = (ClasseB)pf; //InvalidCastException pf é concretizado pela ClasseA } catch (Exception e) { Console.WriteLine(e); } a = new ClasseA(); b = new ClasseB(); ClasseA.Func2(a); ClasseA.Func2(b); }
static void Main(string[] args) { { Console.WriteLine(ClasseB.Maxima1()); //Console.WriteLine(ClasseC.OutroFilosofo()); } }
public static void Main() { var cA = new ClasseA(); var cB = new ClasseB(); cA.Metodo1(cA); cB.Metodo1(cB); }
static void Main(string[] args) { ClasseA classeA = new ClasseA(); ClasseB classeB = new ClasseB(); int valor = classeA.valor1; Console.Write(valor); Console.Read(); }
static void Main(string[] args) { // Criando dados para testes AgregadoConcreto a = new AgregadoConcreto(); a[0] = "Item A"; a[1] = "Item B"; a[2] = "Item C"; a[3] = "Item D"; var meuObjetoA = new ClasseA(); meuObjetoA.nome = "Antonio"; meuObjetoA.numero = 10; a[4] = meuObjetoA; var meuObjetoB = new ClasseB(); meuObjetoB.nome = "Chico"; meuObjetoB.numero = 20; a[5] = meuObjetoB; // Criar iterador de fornecer agregado // Iterador meuIterador = new IteradorConcreto(a); Iterador meuIterador = a.CriarIterador(); Console.WriteLine("Iteração sobre a coleção: "); object item = meuIterador.Primeiro(); while (item != null) { // Para os objetos complexos irá imprimir apenas a referência para a sua classe Console.WriteLine(item.ToString()); item = meuIterador.Proximo(); } // Aguardar o usuário digitar algo para fechar a tela Console.ReadKey(); }