Cargando



Interfaces en Java

En este tutorial veremos en qué consisten las interfaces en Java y un poco más de su justificación.


sep 19 2014 05:01
Intermedio
Generalmente cuando trabajamos de forma orientada a objetos tenemos la libertad de modelar muchas clases que nos permiten llevar al formato digital muchas cosas del mundo real, sin embargo hay momentos en los cuales necesitamos que estas clases tengan algunos comportamientos básicos que nos permitan llevar acciones entre un grupo de las mismas o que simplemente en su comportamiento incluya algo en particular.

Interfaces
Para lograr esto tenemos las interfaces, que son estructuras muy similares a las clases en las cuales podemos definir métodos y constantes que serán utilizadas por las clases que las implementen, esto se hace con la finalidad de poder añadir comportamientos que hagan a las clases compatibles, para lograr cosas tan importantes como comparación de objetos.


Definición de las interfaces


Una interface se comporta de forma similar a una clase, de hecho Java la trata así generando un archivo de Bytecode separado por cada una, además de forma similar a una clase abstracta las Interfaces no pueden ser instanciadas, esto nos deja entonces como opción tener que implementar las mismas a través de otras clases que re-definan sus métodos abstractos.

Para crear una interface debemos seguir la siguiente estructura:

modificador interface InterfaceNombre {
/**Declaraciones de constantes
	 Declaraciones de métodos Abstractos
 */
}

Vemos entonces que debemos iniciar indicando el modificador, este puede ser: public, protected, private, luego seguimos con la palabra clave interface, de esta forma ya Java puede saber que no se trata de una clase y finalmente el nombre de la misma, ya dentro de la misma podremos definir las constantes y los métodos abstractos. Veamos en la siguiente imagen un código de una interface ya definida.

java_interfaces.jpg


Hemos creado entonces una interface pública que se llama comestible y nos permite añadir un comportamiento a nuestras clases, al definir un método abstracto formaComer(), podemos entonces definir la manera en que se pueden comer los objetos de las clases que implementen esta interface.

Implementación de las interfaces en las clases


Hemos mencionado varias veces la palabra implementar cuando hablamos de hacer trabajar una interface en una clase, esto es porque la palabra reservada con la que unimos la interface con la clase es implements es por ello que definimos este concepto de esta manera.

En el siguiente ejemplo vamos a ver una implementación de la interface que creamos en el ejemplo anterior:

java_interfaces2.jpg


Vemos que hemos creado una clase llamada Pollo que hereda de una clase abstracta Animal y que también implementa nuestra interface Comestible, al hacer esto nos vemos obligados a reescribir el método abstracto de la misma para que nuestra clase pueda funcionar.

Otra aplicación
También existe la posibilidad de implementar una interface en una clase abstracta de manera que todas las clases hija deban heredar los métodos abstractos y así modelar su comportamiento sin tener que hacer una implementación en cada una de ellas.


Con esto finalizamos este tutorial, como vemos las interfaces son otro recurso que nos ayudará a darle mayor profundidad a los conceptos que podamos incorporar en nuestras aplicaciones hechas en Java.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X