jueves, 15 de mayo de 2008

Interface Java


Concepto:

El concepto de Interface , trata de una clase donde todos los métodos son abstractos . Permite al diseñador de clases establecer la forma de una clase (nombres de métodos, listas de argumentos y tipos de retorno, pero no bloques de código).

Para crear una interface, se utiliza la palabra clave interface en lugar de class. La interface puede definirse public o sin modificador de acceso, y tiene el mismo significado que para las clases. Todos los métodos que declara una interface son siempre public.

Para indicar que una clase implementa los métodos de una interface se utiliza la palabra clave implements. El compilador se encargará de verificar que la clase efectivamente declare e implemente todos los métodos de la interface. Una clase puede implementar más de una interface.


Una interface se declara:

interface nombre_interface {
tipo_retorno nombre_metodo ( lista_argumentos ) ;
. . .
}

Por ejemplo:

interface Bailarin{
void bailar();

}

Y una clase que implementa la interface:

class Persona extends Object implements Bailarin{
String tipoDeBaile;

public String bailar(String tipo) {

tipoDeBaile=tipo;

return "El tipo de baile que baila este bailarín es:"+tipoDeBaile;

}


}

Java te permite crear un objeto de una clase pero usando su interface de esta manera si por algun casual cambias la clase no se modificaria el codigo , simplemente implementariamos la interface a la nueva case, ejemplo:


Nos estamos creando el objecto a de clase persona pero usando la interface en este caso si cambiamos la clase y hacemos una nueva ,llamada Persona2 no cambiariamos el codigo (a.bailar("Tango");) solo cambiariamos (Bailarin a = new Persona2();) ya que al usar la interface te obliga a usar solo los metodos redefinidos de la interface en la clase.

Bailarin a = new Persona();


a.bailar("Tango");