lunes, 24 de enero de 2011

Implementando interfaces en Java

Una de las ventajas de la programación orientada a objetos es la posibilidad de poder crear un código mucho más elegante, ordenado y reutilizable frente a la programación estructurada; esta vez vamos a hablar un poco de las interfaces utilizadas en la programación basada en Java; cabe de señalar que este mismo concepto se puede a aplicar a la programación en C++.
Definición Informal de una interfaz: según la Wikipedia es una colección de métodos abstractos y propiedades. En ella se especifica que es lo que se debe hacer pero no su implementación.
Cómo un ejemplo práctico realizare una pequeña interfaz que despliegue el mensaje “Hola Mundo”, el editor que utilizaré para este ejemplo es BlueJ.
Primero crearemos un nuevo proyecto al cual yo le he puesto interfaces, ustedes pueden optar por el nombre que quieran.

Ahora crearemos una interfaz (interface) a la cual yo le puse por nombre data, está interfaz incluye el siguiente código:
public interface data{ 
 public String holaMundo(String mensaje);
}

holaMundo, es el método que será implementado a futuro por otras clases, esta interfaz en su diseño almacenará información de datos dados por el usuario, pero en este ejemplo solo utilizaré un método para desplegar el mensaje; cabe de señalar que una interfaz puede incluir datos miembros los cuales deben de declararse como static o final.
Ahora creare una nueva clase la cuál ha de implementar los métodos de la interfaz, a esta clase yo le he puesto el nombre de “metodos”, está incluye el siguiente fragmento de código:
public class metodos implements data
{
  public metodos(){
    } 
   public String holaMundo(String mensaje){
        return mensaje;
    }
}
Está clase implementa los métodos de la interfaz llamada data, aquí se realizan las operaciones básicas de los métodos de la interfaz.
Por último crearemos la clase principal que controla el programa para ver nuestro método en función.
public class principal
{
   
    /**
     * Constructor for objects of class principal
     */
    public principal()
    {
      }
    public static void main (String [] arguments){
        metodos m= new metodos();
        System.out.println (m.holaMundo("Hola Mundo"));
    }
}
Como podemos observar, el uso de interfaces hace un poco más elegante el código ayudando de una forma a reutilizar las clases e interfaces en futuros programas, así nos ahorraremos líneas de código a futuro.