martes, 9 de febrero de 2016

Metodos Default en Java 8

Java 8 nos trae nuevos temas que se han introducido en el lenguaje para hacer las cosas más fáciles al programador. Entre ellas están los métodos default.

Si hasta ahora en una interfaz solo podíamos tener constantes y métodos abstractos (cabecera de método), ahora tendremos la posibilidad de declarar métodos con un comportamiento por defecto en una interfaz. Antes de Java 8 podíamos definir que toda clase que implementa a una interfaz debe construir, declarar, dar cuerpo a los distintos métodos que contenga la interfaz. En cambio, en Java 8, toda clase que implemente una interfaz debe declarar los distintos métodos que contenga la interfaz salvo aquellos que estén definidos como métodos por defecto.

Estos métodos se caracterizan porque son métodos que están declarados en la propia interfaz y pueden ser utilizados directamente en la clase si nos interesa su comportamiento por defecto.

public interface Color {
 int getColor();
 void setColor(int color);
 default void agregarColor() {
   setColor(getColor()+1);
 }
 default void eliminarColor() {
   int colorActual=getColor();
   if (colorActual>0) { 
     setColor(getColor()-1);
   } else {
     setColor(0);
   }   
 }
}

No hay comentarios.:

Publicar un comentario