示例#1
0
 public void ObtenerNombre(FiguraGeometrica input)
 {
     Console.WriteLine("El nombre es:{0}", input.Nombre);
 }
示例#2
0
        public void Ejecutar()
        {
            Console.WriteLine("* EJEMPLO 2: Herencia y Polimorfismo*");
            Console.WriteLine("Paso 1: Analizar las estructuras de las clase CuadradoBase y TrianguloBase");
            Transversales.Continuar();

            Console.WriteLine("Paso 2: Tenemos las clases definidas, a probar ... ");

            #region IMPLEMENTACION PARTE 1

            CuadradoBase            cuadrado1  = new CuadradoBase(2, 2, Transversales.Color.Azul);
            TrianguloEquilateroBase triangulo1 = new TrianguloEquilateroBase(2.5, 3, Transversales.Color.Rojo);

            Console.WriteLine("\nCuadrado de: Perimetro es {0}, Area es {1} y color es {2}", cuadrado1.GetPerimetro(), cuadrado1.GetArea(), cuadrado1.GetColor());
            Console.WriteLine("\nTriangulo de: Perimetro es {0}, Area es {1} y color es {2}", triangulo1.GetPerimetro(), triangulo1.GetArea(), triangulo1.GetColor());

            #endregion

            #region IMPLEMENTACION PARTE 2

            Transversales.Continuar();

            Console.WriteLine("Pero, hay cosas 'comunes' y otras no tanto ... vea las definiciones de la parte 2 ");
            Transversales.Continuar();
            Console.WriteLine("Crearemos diferentes instancias de cada clase");
            Transversales.Continuar();

            FiguraGeometrica    f  = new FiguraGeometrica(1, 1, Transversales.Color.Amarillo);
            Cuadrado            c1 = new Cuadrado(2, Transversales.Color.Verde);
            TrianguloEquilatero t1 = new TrianguloEquilatero(3, Transversales.Color.Rojo);

            Console.WriteLine("Cuadrado de: Perimetro es {0}, Area es {1} y color es {2}", c1.GetPerimetro(), c1.GetArea(), c1.GetColor());
            Console.WriteLine("\nTriangulo de: Perimetro es {0}, Area es {1} y color es {2}", t1.GetPerimetro(), t1.GetArea(), t1.GetColor());
            Console.WriteLine("\nFigura de: Perimetro es {0}, Area es {1} y color es {2}", f.GetPerimetro(), f.GetArea(), f.GetColor());

            Transversales.Continuar();

            #endregion

            #region IMPLEMENTACION POLIMORFISMO 2
            Console.WriteLine("--> Diferentes implementaciones del mismo metodo heredado: Polimorfismo dinamico");
            Transversales.Continuar();

            Console.WriteLine("\nPolimorfismo estatico:");
            EjemploPolimorfismoEstatico();
            EjemploPolimorfismoEstatico(8);
            Transversales.Continuar();
            Console.WriteLine("-> Nombre para f");
            ObtenerNombre(f);
            Transversales.Continuar();
            Console.WriteLine("-> Nombre para c1");
            ObtenerNombre(c1);
            Transversales.Continuar();
            Console.WriteLine("-> Nombre para t1");
            ObtenerNombre(t1);
            Transversales.Continuar();
            #endregion

            Console.WriteLine("\n* FIN EJEMPLO 2 *");
            Transversales.Continuar();
        }