Una interfaz en Java es una colección de métodos abstractos
y propiedades. En ellas se especifica qué se debe hacer pero no su
implementación. Serán las clases que implementen estas interfaces las que
describan la lógica del comportamiento de los métodos.
El papel del interface es el de describir algunas de las
características de una clase. Por ejemplo, el hecho de que una persona sea un
futbolista no define su personalidad completa, pero hace que tenga ciertas
características que las distinguen de otras.
Diferencias entre un interface y una clase abstracta
Un interface es simplemente una lista de métodos no
implementados, además puede incluir la declaración de constantes. Una clase
abstracta puede incluir métodos implementados y no implementados o abstractos,
miembros dato constantes y otros no constantes.
El uso
de interfaces proporciona las siguientes ventajas:
Organizar
la programación (IAJU).
Obligar
a que ciertas clases utilicen los mismos métodos (nombres y parámetros).
Establecer
relaciones entre clases que no estén relacionadas.
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.
No hay comentarios:
Publicar un comentario