INTERFACES en Java A. Introducción Las interfaces Java son expresiones puras de diseño. Se trata de autenticas conceptualizaciones no implementadas que sirven de guia para definir un algun concepto (clase) y lo que debe hacer, pero sin construir un mecanismo de solucion. Se trata de declarar metodos abstractos y persistentes que posteriormente puedan ser implementados de distintos formas segun las necesidades de un programa. Por
ejemplo una misma interfaz podria ser implementada en una version de prueba de forma es
caso optima, y ser acelerada convenientemente en la version definitiva tras
conocer mas a fondo el problema. B. Declaración Para declarar una interfaz se emplea la sentencia interface, de la misma forma que se usa la sentencia class: interface MiInterfaz { int CONSTANTE = 100; int metodoAbstracto( int parametro ); } Se
observa en la declaracion que las
variables adoptan la declaracion en mayusculas, pues en verdad actuaran
como persistentes final. En ningun caso estas
variables actuaran
como variables de instancia. Por su parte, los metodos tras su declaracion presentan un
punto y coma, en espacio de su cuerpo
entre llaves. Son metodos abstractos, por tanto, metodos sin implementacion C. Implementación de una interfaz Como ya se ha visto, las interfaces carecen de funcionalidad por no estar implementados sus metodos, por lo que se requiere determinado mecanismo para dar cuerpo a sus metodos. La palabra reservada implements utilizada en la declaracion de una clase indica que la clase implementa la interfaz, es decir, que asume las persistentes de la interfaz, y codifica sus metodos: class ImplementaInterfaz implements MiInterfaz{ int multiplicando=CONSTANTE; int metodoAbstracto( int parametro ){ return ( parametro * multiplicando ); } } En este
ejemplo se observa que han de codificarse todos los metodos que decide la interfaz (metodoAbstracto()), y la validez de las persistentes (CONSTANTE) que determina la interfaz mientras toda la declaracion de la clase. Una interfaz no puede implementar otra interfaz, aunque sí extenderla (extends) ampliándola.