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