Пример #1
0
        static void Main(string[] args)
        {
            Circulo C1 = new Circulo();

            C1.Radio = 5;
            C1.DatosCirculo();

            //Otra forma: Upcasting
            Figura1 f1 = new Circulo {
                Radio = 5
            };

            f1.CalcularArea();

            Figura1 f2 = new Triangulo {
                Base = 10, Altura = 9
            };
            Figura1 f3 = new Rectangulo {
                Base = 10, Altura = 9
            };

            Figura1[] figuras = new Figura1[] { f1, f2, f3, C1 };
            foreach (var figura in figuras)
            {
                Console.WriteLine(figura.CalcularArea());
            }

            //Downcasting
            Circulo C = f1 as Circulo;

            //C.Radio = 5;
            Console.WriteLine("Datos del circulos");
            C.DatosCirculo();
            Console.ReadKey();
        }
Пример #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            int x = comboBox1.SelectedIndex;

            Factory[] objFactories = new Factory[1];
            switch (x)
            {
            case 0:
                objFactories[0] = new Figura1();
                foreach (Factory ob in objFactories)
                {
                    FIGURAS objProduct = ob.GetFig();
                    objProduct.Mensaje();
                }
                break;

            case 1:
                objFactories[0] = new Figura2();
                foreach (Factory ob in objFactories)
                {
                    FIGURAS objProduct = ob.GetFig();
                    objProduct.Mensaje();
                }
                break;

            case 2:
                objFactories[0] = new Figura3();
                foreach (Factory ob in objFactories)
                {
                    FIGURAS objProduct = ob.GetFig();
                    objProduct.Mensaje();
                }
                break;

            default:
            {
                MessageBox.Show("***");
                break;
            }
            }
        }