Example #1
0
        public static void Main(string[] args)
        {
            //como reconocer si un objeto implenta a determinada interfaz
            CTelevisor   miTele   = new CTelevisor("Sharpy");
            CPelota      miPelota = new CPelota("Grande");
            IElectronico objeto   = null;

            //metodo 1, por excepcion

            try
            {
                Console.WriteLine("Probamos la tele");
                objeto = (IElectronico)miTele;
                objeto.Encender(true);
            }
            catch (InvalidCastException e)
            {
                Console.WriteLine(e.Message);
            }


            //Metodo 2

            Console.WriteLine("Probamos la tele");
            //se usa as, retorna null sino puede ser tratado como la interface a probar
            objeto = miTele as IElectronico;

            if (objeto != null)
            {
                objeto.Encender(true);
            }
            else
            {
                Console.WriteLine("No implementa Ielectronico");
            }

            //Metodo 3, por is ( es p es compatible con)

            Console.WriteLine("Probamos la tele");

            if (miTele is IElectronico)
            {
                ((IElectronico)miTele).Encender(true);
            }

            else
            {
                Console.WriteLine("No implementa IElectronico");
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            //array de Interfaces
            //Todos los objetos del siguiente array implementan la misma interfaz.. no tienen porqué estar relacionados o pertenecer a la misma
            //cadena de herencia. Lo único que tienen en comun es que implementna la interfaz
            //Es un array con capacidades polimorficas
            IElectronico[] teles         = { new CTelevisor("Sony"), new CTelevisor("Telefunken"), new CRadio("Panasonic"), new CRadio("Thompson") };
            IElectronico   aparatoCreado = null;

            for (int i = 0; i < teles.Length; i++)
            {
                Console.WriteLine(teles[i]);
            }
            Console.WriteLine("----");

            //interfaces con métodos
            CTelevisor mitele  = new CTelevisor("Sharp");
            CRadio     miradio = new CRadio("RCB");

            Muestra(mitele);
            Muestra(miradio);
            Console.WriteLine("----");


            //Métodos que devuelven instancias de clases diferentes que implementan interfaz
            IElectronico aparato = CreaAparato();

            aparato.Encender(true);
            Console.WriteLine(aparato);


            Console.ReadKey();
        }
Example #3
0
        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();
        }
Example #4
0
        public static void Main(string[] args)
        {
            //Arreglos de interfaces lo unico que podrian tener en comun es la implementacion de interfaz por ejemplo Ctelevisor y Cradio
            IElectronico[] teles = { new CTelevisor("charp"), new CTelevisor("Zony"), new CRadio("RCB"), new CTelevisor("philips") };

            foreach (IElectronico aparato  in teles)
            {
                Console.WriteLine(aparato);
            }
            Console.WriteLine("-------------------------");



            //uso de interfaces con metodos
            CTelevisor miTV   = new CTelevisor("Sharp tv");
            CRadio     mRadio = new CRadio("Sony Walk man");

            Muestra(miTV);
            Muestra(mRadio);



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

            IElectronico aparatocreado = null;

            aparatocreado = CreaAparato();
            aparatocreado.Encender(true);
            Console.WriteLine(aparatocreado);
        }
        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);
        }
Example #6
0
        // metodos que pueden recibir un objeto que implemente determinada interface

        // Este metodo puede recibir cualquier objeto que implemente IELEctronico

        static void Muestra(IElectronico aparato)
        {
            //Codigo comun a todos los aparatos
            aparato.Encender(true);
            if (aparato is CTelevisor)
            {
                Console.WriteLine(aparato);
            }
            if (aparato is CRadio)
            {
                Console.WriteLine(aparato);
            }
        }
Example #7
0
        static void Muestra(IElectronico aparato)
        {
            aparato.Encender(true);

            if (aparato is CTelevisor)
            {
                Console.WriteLine("El televisor es {0}", aparato);
            }

            if (aparato is CRadio)
            {
                Console.WriteLine("El radio es {0}", aparato);
            }
        }
Example #8
0
        //Este metodo puede recibir a cualquier objeto que implemente IElectronico
        static void Muestra(IElectronico aparato)
        {
            //Podemos distinguir un objeto u otro por su clase
            //también puede haber código común aplicable a cualquier objeto que implemente IEectronico
            aparato.Encender(true);

            if (aparato is CTelevisor)
            {
                Console.WriteLine("La tele es {0}", aparato);
            }

            if (aparato is CRadio)
            {
                Console.WriteLine("La Radio es {0}", aparato);
            }
        }
        // Este metodo puede recibir cualquier objecto que implemente IElectronico
        static void Muestra(IElectronico aparato)
        {
            // Codigo comun
            aparato.Encender(true);

            // Codigo segun el tipo
            if (aparato is CTelevisor)
            {
                Console.WriteLine("El TELEVISOR es #{0}#", aparato);
            }

            if (aparato is CRadio)
            {
                Console.WriteLine("La RADIO es #{0}#", aparato);
            }
        }
Example #10
0
        static void Main(string[] args)
        {
            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("---");

            CTelevisor miTV    = new CTelevisor("Charp TV");
            CRadio     miRadio = new CRadio("RCB Radio");

            Muestra(miRadio);
            Muestra(miTV);

            Console.WriteLine("---");

            aparatoCreado = CrearAparato();
            aparatoCreado.Encender(true);
            Console.WriteLine(aparatoCreado);
        }
Example #11
0
        static void Main(string[] args)
        {
            //Reconocer si un objeto implementa una determinada interfaz

            CTelevisor   miTele   = new CTelevisor("LG");
            CPelota      miPelota = new CPelota("Molten");
            IElectronico objeto   = null;

            //Metodo 1 por exception
            try
            {
                Console.WriteLine("Probamos la tele");
                objeto = (IElectronico)miTele;
                objeto.Encender(true);
            }
            catch (InvalidCastException e)
            {
                Console.WriteLine(e.Message);
            }

            try
            {
                Console.WriteLine("Probamos la pelota");
                objeto = (IElectronico)miPelota;
                objeto.Encender(true);
            }
            catch (InvalidCastException e)
            {
                Console.WriteLine(e.Message);
            }

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

            Console.WriteLine("Probamos la tele");
            objeto = miTele as IElectronico;

            if (objeto != null)
            {
                objeto.Encender(true);
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }

            Console.WriteLine("Probamos la Pelota");
            objeto = miPelota as IElectronico;

            if (objeto != null)
            {
                objeto.Encender(true);
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }

            Console.WriteLine("--- Metodo 3 ---");
            Console.WriteLine("Probamos la tele");

            if (miTele is IElectronico)
            {
                miTele.Encender(true);
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }

            Console.WriteLine("Probamos la Pelota");

            if (miPelota is IElectronico)
            {
                Console.WriteLine("Wow tienes una pelota electronica");
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }


            Console.ReadKey();
        }
Example #12
0
        static void Main(string[] args)
        {
            CTelevisor   miTele   = new CTelevisor("Sharpy");
            CPelota      miPelota = new CPelota("Grande");
            IElectronico objeto   = null;

            try
            {
                Console.WriteLine("Probamos la tele");
                objeto = (IElectronico)miTele;
                objeto.Encender(true);
            }
            catch (InvalidCastException e)
            {
                Console.WriteLine(e.Message);
            }

            try
            {
                Console.WriteLine("Probamos la pelota");
                objeto = (IElectronico)miPelota;
                objeto.Encender(true);
            }
            catch (InvalidCastException e)
            {
                Console.WriteLine(e.Message);
            }

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

            Console.WriteLine("Probamos la tele");
            objeto = miTele as IElectronico;

            if (objeto != null)
            {
                objeto.Encender(true);
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }

            Console.WriteLine("Probamos la pelota");
            objeto = miPelota as IElectronico;

            if (objeto != null)
            {
                objeto.Encender(true);
            }
            else
            {
                Console.WriteLine("No impleta IElectronico");
            }

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

            Console.WriteLine("Probamos la tele");

            if (miTele is IElectronico)
            {
                miTele.Encender(true);
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }

            Console.WriteLine("Probamos la pelota");

            if (miPelota is IElectronico)
            {
                Console.WriteLine("Wow tienes una pelota electronica");
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }
        }
Example #13
0
        static void Main(string[] args)
        {
            //En ocasiones nos interesa conocer si un objeto implementa una interfaz, para en ese caso, hacer llamadas a los métodos de la
            //interfaz.

            CTelevisor mitele   = new CTelevisor("Phillips");
            CPelota    mipelota = new CPelota("Grande");
            //variable del tipo de la interfaz.
            //Objeto puede referenciar a cualquier objeto que implemente IElectronico
            IElectronico objeto = null;

            //*************** Primer método: Fuerza bruta: Generar una excepción
            try
            {
                Console.WriteLine("Probamos la tele");
                //Si la tele implementa la interfaz electronico, la siguiente asignación vale, si no, salta una excepcion
                objeto = (IElectronico)mitele;
                objeto.Encender(true);
            } catch (InvalidCastException e)
            {
                Console.WriteLine(e.Message);
            }

            //repetimos con la pelota y vemos que salta la excepción.
            try
            {
                Console.WriteLine("Probamos la pelota");
                objeto = (IElectronico)mipelota;
                objeto.Encender(true);
            } catch (InvalidCastException e)
            {
                Console.WriteLine(e.Message);
            }

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

            //*************** Segundo método: Uso de "as"
            Console.WriteLine("Probamos la tele");

            objeto = mitele as IElectronico;

            if (objeto != null)
            {
                objeto.Encender(true);
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }

            objeto = mipelota as IElectronico;

            if (objeto != null)
            {
                objeto.Encender(true);
            }
            else
            {
                Console.WriteLine("Pelota No implementa IElectronico");
            }

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

            //*************** Tercer método: Uso de "is"

            Console.WriteLine("Probamos la tele");

            if (mitele is IElectronico)
            {
                mitele.Encender(true);
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }

            if (mipelota is IElectronico)
            {
                Console.WriteLine("Pelota electronica");
            }
            else
            {
                Console.WriteLine("Pelota No implementa IElectronico");
            }

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

            Console.ReadKey();
        }
Example #14
0
        static void Main(string[] args)
        {
            Console.Title = "Tutorial C# nivel Avanzado 27 --- Conocer cuando el objeto implementa a la interfaz";

            // Como reconocer si un objeto implementa a determinada interface

            CTelevisor   miTele   = new CTelevisor("Sharpy");
            CPelota      miPelota = new CPelota("Grande");
            IElectronico objeto   = null;

            // Método 1, por excepción

            try
            {
                Console.WriteLine("Probamos la tele");
                objeto = (IElectronico)miTele;
                objeto.Encender(true);
            }
            catch (InvalidCastException e)
            {
                Console.WriteLine(e.Message);
            }

            try
            {
                Console.WriteLine("Probamos la pelota");
                objeto = (IElectronico)miPelota; // El casting si no puede da excepción
                objeto.Encender(true);
            }
            catch (InvalidCastException e)
            {
                Console.WriteLine(e.Message);
            }

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

            // Metodo 2, por as (puede ser tratado como)

            Console.WriteLine("Probamos la tele");
            objeto = miTele as IElectronico; // o null si no puede ser tratado

            if (objeto != null)
            {
                objeto.Encender(true);
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }

            Console.WriteLine("Probamos la pelota");
            objeto = miPelota as IElectronico;

            if (objeto != null)
            {
                objeto.Encender(true);
            }
            else
            {
                Console.WriteLine("No Implementa IElectronico");
            }

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

            // Método 3, por is (p es complatible con)

            Console.WriteLine("Probamos la tele");

            if (miTele is IElectronico)
            {
                miTele.Encender(true);
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }

            Console.WriteLine("Probamos la pelota");

            if (miPelota is IElectronico)
            {
                Console.WriteLine("Wow tienes una pelota electrónica");
            }
            else
            {
                Console.WriteLine("No implementa IElectronico");
            }
        }