コード例 #1
0
ファイル: Program.cs プロジェクト: jerfonseca/CSharpAvanzado
        //Retorna cualquier objeto que implemente IElectronico
        static IElectronico CreaAparato()
        {
            IElectronico aparato = null;
            string       dato    = string.Empty;
            int          opcion  = 0;

            Console.WriteLine("Que deseas crear? 1- Tele, 2- Radio");
            dato   = Console.ReadLine();
            opcion = Convert.ToInt32(dato);

            if (opcion == 1)
            {
                Console.WriteLine("Dame la marca del tele");
                dato    = Console.ReadLine();
                aparato = new CTelevisor(dato);
            }
            if (opcion == 2)
            {
                Console.WriteLine("Dame la marca del radio");
                dato    = Console.ReadLine();
                aparato = new CRadio(dato);
            }

            return(aparato);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: jerfonseca/CSharpAvanzado
        static void Main(string[] args)
        {
            //Arreglos de interfaces
            IElectronico[] teles         = { new CTelevisor("Charp"), new CTelevisor("Zony"), new CRadio("RCB Radio"), new CRadio("Phillips") };
            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(miTV);
            Muestra(miRadio);

            Console.WriteLine("--------");

            //Metodo que regresa objeto que implementa IElectronico
            aparatoCreado = CreaAparato();
            aparatoCreado.Encender(true);
            Console.WriteLine(aparatoCreado);

            Console.ReadKey();
        }