lunes, 4 de julio de 2011

Interfaces en java

¿Concepto de Interface?

El concepto de Interface lleva un paso más adelante la idea de las clases abstractas. En Java una interface es una clase abstracta pura, es decir una clase donde todos los métodos son abstractos (no se implementa ninguno). 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). Una interface puede también contener datos miembro, pero estos son siempre static y final. Una interface sirve para establecer un 'protocolo' entre clases.

¿Porque utilizar interfaces?

Para revelar la interfaz de un objeto de programación (funcionalidad del objeto) sin revelar su ejecución.
- Este es el concepto de encapsulación
- La puesta en práctica puede cambiar sin afectar el que llama a la interfaz.

Para que las clases no relacionadas implementar similares métodos (comportamientos).

Declaración y uso

Una interface se declara:
       interface nombre_interface {
tipo_retorno nombre_metodo ( lista_argumentos ) ;
. . .
}

Por ejemplo:
       interface InstrumentoMusical {
void tocar();
void afinar();
String tipoInstrumento();
}

Y una clase que implementa la interface:
       class InstrumentoViento extends Object implements InstrumentoMusical {
void tocar() { . . . };
void afinar() { . . .};
String tipoInstrumento() {}
}

class Guitarra extends InstrumentoViento {
String tipoInstrumento() {
return "Guitarra";
}
}

La clase InstrumentoViento implementa la interface, declarando los métodos y escribiendo el código correspondiente. Una clase derivada puede también redefinir si es necesario alguno de los métodos de la interface.

REFERENCIAS

http://www.arrakis.es/~abelp/ApuntesJava/Interfaces.htm

http://www.cpe.eng.cmu.ac.th/wp-content/uploads/javainterface.pdf

No hay comentarios:

Publicar un comentario