jueves, 14 de octubre de 2010

Interfaces

Una interfaz contiene sólo las firmas de métodos, delegados o eventos. La implementación de los métodos se hace en la clase que implementa la interfaz, como se muestra en el ejemplo siguiente:

IDesplegar
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Biblioteca1
{
  interface IDesplegar
  {
  
  TipoPersona Tipo { get; }
    //declaramos la propiedad, pero no su contenido. Finaliza con ";"

  
  string obtenerInformacion();
    //declaramos el metodo, pero no su contenido. Finaliza con ";"
  }
}


Empleado
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Biblioteca1
{
  //Cliente hereda de Persona.
  //Sintaxis=> public class NombreClaseHija : NombreClaseMadre, NombreInterfaz
  //Si no tenemos clase madre => public class NombreClase : NombreInterfaz
  //En caso de existir clase madre, SIEMPRE debe ir esta primero, y despues 

  //la o las interfaces
    public class Empleado:Persona, IDesplegar
    
      private TipoPersona _tipo;
      private int _sueldo;

  
    public int Sueldo
      {
        get { return _sueldo; }
        set { _sueldo = value; }
      }

  
  #region Miembros de IDesplegar
    //region es solo para ordenar el código
    //en este caso, aqui se implementan los metodos descritos en IDesplegar
      public TipoPersona Tipo
      {
        get { return _tipo; }
        set { _tipo = value; }
      }

  
    public string obtenerInformacion()
      {
      //El primer paràmetro es el texto que queremos formatear, 
      //los sgtes son los datos que queremos que salgan 

  
    string texto = string.Format("Empleado.\n\tNombre= {0}\n", NombreCompleto);
      return texto;
    }
    #endregion
  }
}

No hay comentarios: