static void Main(string[] args) { Console.Title = "Tutorial C# nivel Avanzado 28 --- Manejo de interfaces con métodos"; // Arrays de interfaces IElectronico[] teles = { new CTelevisor("Charp"), new CTelevisor("Zony"), new CRadio("RCB"), new CTelevisor("Filips") }; IElectronico aparatoCreado = null; for (int n = 0; n < teles.Length; n++) { Console.WriteLine(teles[n]); } Console.WriteLine("---"); // Uso de interfaces con metodos CTelevisor miTV = new CTelevisor("Charp TV"); CRadio miRadio = new CRadio("RCB Radio"); Muestra(miRadio); Muestra(miTV); Console.WriteLine("---"); // Metodo que regresa objeto que implementa la interface aparatoCreado = CreaAparato(); aparatoCreado.Encender(true); Console.WriteLine(aparatoCreado); }
// Este metodo puede regresar cualquier objeto que implemente a IElectrónico static IElectronico CreaAparato() { IElectronico aparato = null; string dato = string.Empty; int opcion = 0; Console.WriteLine("¿Qué deseas crear? 1-Tele, 2-Radio"); dato = Console.ReadLine(); opcion = Convert.ToInt32(dato); switch (opcion) { case 1: Console.WriteLine("Dame la marca de la televisión: "); dato = Console.ReadLine(); aparato = new CTelevisor(dato); break; case 2: Console.WriteLine("Dame la marca de la radio: "); dato = Console.ReadLine(); aparato = new CRadio(dato); break; } return(aparato); }