コード例 #1
0
        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();
        }
コード例 #2
0
        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
        }
コード例 #3
0
        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
        }