static void Main(string[] args) { Rectangulo myRectangulo = new Rectangulo(); myRectangulo.CalcularArea(2, 3); Cuadrado myCruadrado = new Cuadrado(); myCruadrado.CalcularArea(2); Console.WriteLine("El perimettro es:" + myCruadrado.CalcularPerimetro(2, 3)); Console.WriteLine("Presione enter para salir"); Console.ReadKey(); }
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(""); }
static void Main(string[] args) { Circulo c1 = new Circulo(); c1.Radio = 5; c1.DatosCirculo(); // Upcasting IFigura f1 = new Circulo { Radio = 5 }; 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 }; foreach (var figura in figuras) { Console.WriteLine(figura.CalcularArea()); } // Downcasting Circulo c = f1 as Circulo; c.Radio = 5; Console.WriteLine("Datos del circulo"); c.DatosCirculo(); Console.ReadKey(); }