static void Main(string[] args) { ClaseUno c1 = new ClaseUno("Primera Clase"); ClaseDos c2 = new ClaseDos("Primera Clase", "Segunda Clase"); ClaseTres c3 = new ClaseTres("Primera Clase", "Segunda Clase", "Tercera Clase"); Console.WriteLine(c1.TipoClaseUno); Console.WriteLine(c2.TipoClaseDos); Console.WriteLine(c3.TipoClaseTres); Console.WriteLine(c1.MostrarClaseUno()); Console.WriteLine(c2.MostrarClaseDos()); Console.WriteLine(c3.MostrarClaseTres()); Console.ReadLine(); }
static void Main(string[] args) { ClaseUno c1 = new ClaseUno("Primera Clase"); ClaseDos c2 = new ClaseDos("Primera Clase", "Segunda Clase"); ClaseTres c3 = new ClaseTres("Primera Clase", "Segunda Clase", "Tercera Clase"); Console.WriteLine(c1.TipoClaseUno); Console.WriteLine(c2.TipoClaseDos); Console.WriteLine(c3.TipoClaseTres); Console.WriteLine(c1.MostrarClaseUno()); Console.WriteLine(c2.MostrarClaseDos()); Console.WriteLine(c3.MostrarClaseTres()); Console.ReadLine(); //CREO LISTA GENERICA DE TIPO CLASEUNO List <ClaseUno> listaUno = new List <ClaseUno>(); listaUno.Add(c1); listaUno.Add(c2); listaUno.Add(c3); //CREO LISTA GENERICA DE TIPO CLASEDOS List <ClaseDos> listaDos = new List <ClaseDos>(); //listaDos.Add(c1);//ERROR listaDos.Add(c2); listaDos.Add(c3); //CREO LISTA GENERICA DE TIPO CLASETRES List <ClaseTres> listaTres = new List <ClaseTres>(); //listaTres.Add(c1);//ERROR //listaTres.Add(c2);//ERROR listaTres.Add(c3); Console.ReadLine(); //RECORRO LA LISTA... CUANDO EL OBJETO SEA CLASEDOS O CLASETRES -> ERROR! foreach (ClaseUno item in listaUno) { Console.WriteLine(item.TipoClaseUno); Console.WriteLine(item.MostrarClaseUno()); } Console.ReadLine(); #region Con Polimorfismo //foreach (ClaseUno item in listaUno) //{ // Console.WriteLine(item.Tipo); // Console.WriteLine(item.Mostrar()); //} //Console.ReadLine(); #endregion }
static void Main(string[] args) { ClaseUno c1 = new ClaseUno("Primera Clase"); ClaseDos c2 = new ClaseDos("Primera Clase", "Segunda Clase"); ClaseTres c3 = new ClaseTres("Primera Clase", "Segunda Clase", "Tercera Clase"); Console.WriteLine(c1.TipoClaseUno); Console.WriteLine(c2.TipoClaseDos); Console.WriteLine(c3.TipoClaseTres); Console.WriteLine(c1.MostrarClaseUno()); Console.WriteLine(c2.MostrarClaseDos()); Console.WriteLine(c3.MostrarClaseTres()); Console.ReadLine(); List <ClaseUno> lista = new List <ClaseUno>(); lista.Add(c1); lista.Add(c2); lista.Add(c3); foreach (ClaseUno item in lista) { if (item is ClaseUno) { Console.WriteLine(item.TipoClaseUno); } if (item is ClaseDos) { Console.WriteLine(((ClaseDos)item).TipoClaseDos); } if (item is ClaseTres) { Console.WriteLine(((ClaseTres)item).TipoClaseTres); } if (item is ClaseUno) { Console.WriteLine(item.MostrarClaseUno()); } if (item is ClaseDos) { Console.WriteLine(((ClaseDos)item).MostrarClaseDos()); } if (item is ClaseTres) { Console.WriteLine(((ClaseTres)item).MostrarClaseTres()); } } Console.ReadLine(); #region Con Polimorfismo //foreach (ClaseUno item in lista) //{ // Console.WriteLine(item.Tipo); // Console.WriteLine(item.Mostrar()); //} //Console.ReadLine(); #endregion }