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(); }
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; } } }