Java incorpora una
construcción del lenguaje, mediante la declaración interface, que permite
enunciar un conjunto de constantes y de cabeceras de métodos abstractos; éstos deben
implementarse en las clases y constituyen la interfaz de la clase. En cierto
modo, es una forma de declarar que todos los métodos de una clase son públicos
y abstractos, con ello se especifica el comportamiento común de todas las
clases que implementen la interfaz; su declaración es similar a la de una clase;
en la cabecera se utiliza la palabra reservada interface en vez de class, por ejemplo:
La interfaz FIGURAS define
dos métodos abstractos y además públicos; sin embargo, no debe especificarse ni
abstract ni public ya que todos los métodos de interface lo son.
Sintaxis
acceso interface
NombreInterface
{
Constante_1;
...
Constante_n;
Tipo nombreMetodo_1 (argumentos);
...
Tipo nombreMetodo_n (argumentos);
}
acceso
visibilidad de la interfaz definida, normalmente public.
Implementación de una interfaz
La interfaz especifica el
comportamiento común que tiene un conjunto de clases, el cual se realiza en
cada una de ellas y se conoce como implementación de interfaz; utiliza
una sintaxis similar a la derivación o extensión de una clase, con la palabra
reservada implements en lugar de extends.
class NombreClase implements
NombreInterfaz
{
// Definición de atributos
// Implementación de métodos de la clase
// Implementación de métodos del interfaz
}
La clase que implementa la
interfaz tiene que especificar el código (la implementación) de cada uno de sus
métodos; de no hacerlo, la clase se convierte en abstracta y debe declararse abstract; esto es una forma de obligar
a que cada método de la interfaz se implemente.
Múltiples interfaces
Java no permite que una
clase derive de dos o más clases, es decir, no permite la herencia múltiple;
sin embargo, una clase sí puede implementar más de una interfaz y tener el
comportamiento común de varias de ellas; para esto, sencillamente se escriben
las interfaces separadas por comas a continuación de la palabra reservada implements; así, la clase tiene que
implementar los métodos de todas.
sintaxis
class NombreClase implements
Interfaz_1, Interfaz_2,..., Interfaz_n
{
// ...
}
No hay comentarios:
Publicar un comentario