Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/05/2011, 17:34
Avatar de giovani_loera
giovani_loera
 
Fecha de Ingreso: mayo-2011
Ubicación: Tijuana
Mensajes: 225
Antigüedad: 12 años, 11 meses
Puntos: 21
Respuesta: Interfaces en C#

Primeramente un Saludo.

Te voy a explicar con el ejemplo anterior.

Tienes una Interfaz que se llamara IFelino,IAve.
Tienes una clase que se llaman Animal,Puma,Gato,Oso,Aguila

Como debes saber una clase, no puede heredar mas de 2 clases y aqui entran las interfaces; se puede decir q las interfaces son como clases(pero sin logica, solo tiene la mascara o q metodos tiene q tener), una clase puede heredar 1 o mas interfaces.

Mejor veamos con el ejemplo.

Código C:
Ver original
  1. //'Declaramos la Clase y las Interfacez'
  2.  
  3.  //En las clases si viene logica, y la logica q pongas aqui sera para todas
  4.     //las clases que  hereden de ella.
  5.     //Para cambiar la logica de un metodo de una clase padre, se usa el override
  6.     //(pero esto es otro tema).
  7.  
  8.     class Animal //Clase Padre
  9.     {
  10.        
  11.         void Comer()
  12.         {
  13.             //codigo
  14.         }
  15.         void Dormir()
  16.         {
  17.             //codigo
  18.         }
  19.     }
  20.     //Al crear una Interfaz, no existe nada de logica, solo se pone la Mascara
  21.  
  22.     //(es decir, que es lo que quiren que Tengan las clases que hereden o
  23. //mejor dicho Implementar)
  24.     interface IFelino
  25.     {
  26.         void Maullar();
  27.         void Ronronear();
  28.         void Correr();
  29.     }
  30.     interface IAve
  31.     {
  32.         void Volar();
  33.     }

Código C:
Ver original
  1. //Declaramos las Clases, la heredamos de la clase animal, he implementamos
  2. //la interfaz depende de cada una.
  3.  
  4.  class Puma : Animal, IFelino
  5. //La clase Puma es hija de la clase Padre Animal, he implementa
  6. // la Interfaz IFelino
  7.     {
  8.         public void Maullar()
  9.         {
  10.             //codigo para la clase puma
  11.             throw new NotImplementedException();
  12.         }
  13.  
  14.         public void Ronronear()
  15.         {
  16.             //codigo para la clase puma
  17.             throw new NotImplementedException();
  18.         }
  19.  
  20.         public void Correr()
  21.         {
  22.             //codigo para la clase puma
  23.             throw new NotImplementedException();
  24.         }
  25.     }
  26.     class Gato : Animal, IFelino
  27. //La clase Gato es hija de la clase Padre Animal, he implementa
  28. //la Interfaz IFelino
  29.     {
  30.         public void Maullar()
  31.         {
  32.             //codigo para la clase gato
  33.             throw new NotImplementedException();
  34.         }
  35.  
  36.         public void Ronronear()
  37.         {
  38.             //codigo para la clase gato
  39.             throw new NotImplementedException();
  40.         }
  41.  
  42.         public void Correr()
  43.         {
  44.             //codigo para la clase gato
  45.             throw new NotImplementedException();
  46.         }
  47.     }
  48.     class Aguila : Animal, IAve
  49. //La clase Aguila es hija de la clase Padre Animal, he implementa
  50. // la Interfaz IAve
  51.     {
  52.         public void Volar()
  53.         {
  54.             //codigo para la clase aguila
  55.             throw new NotImplementedException();
  56.         }
  57.     }
  58.     class Oso : Animal//La clase Oso es hija de la clase Padre Animal
  59.     {
  60.     }


Espero q te aya servido de algo,