Esempio n. 1
0
File: Program.cs Progetto: RRG96/POO
        static void Main(string[] args)
        {
            Circulo c1 = new Circulo();

            c1.Radio = 5;
            // Upcasting
            IFigura f1 = new Circulo {
                Radio = 5
            };

            Console.WriteLine(f1.CalcularArea());
            IFigura f2 = new Triangulo {
                Base = 10, Altura = 9
            };
            IFigura f3 = new Rectangulo {
                Base = 4, Altura = 3
            };

            IFigura[] figuras = new IFigura[] { f1, f2, f3, c1 };
            foreach (var figura in figuras)
            {
                Console.WriteLine(figura.CalcularArea());
            }
            // Downcasting
            Circulo c = f1 as Circulo;

            Console.WriteLine("Datos del Circulo:");
            c.DatosCirculo();
            Console.ReadKey();
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            //upcasting
            IFigura f1 = new Circulo {
                Radio = 5
            };
            IFigura f2 = new Triangulo {
                Base = 10, Altura = 8
            };
            IFigura f3 = new Rectangulo {
                Base = 4, Altura = 3
            };
            IFigura f4 = new Circulo {
                Radio = 9
            };

            IFigura[] figuras = { f1, f2, f3, f4 };

            foreach (var figura in figuras)
            {
                Console.WriteLine(figura.CalcularArea());
            }
            //downcasting
            Circulo    c1 = f1 as Circulo;
            Triangulo  t1 = f2 as Triangulo;
            Rectangulo r1 = f3 as Rectangulo;
            Circulo    c2 = f4 as Circulo;

            c1.DatosCirculo();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            // Upcasting
            IFigura f1 = new Circulo {
                Radio = 5
            };
            IFigura f2 = new Triangulo {
                Base = 10, Altura = 8
            };
            IFigura f3 = new Rectangulo {
                Base = 4, Altura = 3
            };
            IFigura f4 = new Circulo {
                Radio = 9
            };

            IFigura[] figuras = new IFigura[] { f1, f2, f3, f4 };

            foreach (var figura in figuras)
            {
                Console.WriteLine(figura.CalcularArea());
            }

            // Dowcasting
            Circulo c = f1 as Circulo;

            Console.WriteLine("Datos del círculo");
            c.DatosCirculo();
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            //Upcasting
            //Creaciones de instancias con su relación
            IFigura f1 = new Circulo {
                Radio = 5
            };
            IFigura f2 = new Triangulo {
                Base = 10, Altura = 8
            };
            IFigura f3 = new Rectangulo {
                Base = 4, Altura = 3
            };
            IFigura f4 = new Circulo {
                Radio = 9
            };

            //Crea un array de las clases
            IFigura[] figuras = new IFigura[] { f1, f2, f3, f4 };

            //Recorre todo el array
            foreach (var fig in figuras)
            {
                Console.WriteLine(fig.CalcularArea());
            }
            Console.WriteLine("");


            //Downcasting, esto permite usar los metodos especificos de cada clase
            Circulo c = f1 as Circulo;

            Console.Write("Datos del circulo: ");
            c.DatosCirculo();
            Console.WriteLine("");

            Triangulo t = f2 as Triangulo;

            Console.Write("Datos del triangulo: ");
            t.DatosTriangulo();
            Console.WriteLine("");

            Rectangulo r = f3 as Rectangulo;

            Console.Write("Datos del Rectangulo: ");
            r.DatosRectangulo();
            Console.WriteLine("");
        }