Cibergrafia:
http://www.monografias.com/trabajos67/diagramas-uml/diagramas-uml.shtml
https://www.fdi.ucm.es/profesor/jpavon/poo/Tema6resumido.pdf
Una interface sirve para establecer un “protocolo” entre clases; como también bien puede contener datos miembro,pero estos son siempre static y final.
INTERFACES GRAFICAS DEL USUARIO
Las interfaces gráficas de uSuario (GUI) ofrecen al usuario ventanas, cuadros de diálogo, barras de herramientas, botones, listas desplegables y muchos otros elementos.
Referencias a Interfaces
Es posible crear referencias a interfaces, pero las interfaces no pueden ser instanciadas. Una referencia a una interface puede ser asignada a cualquier objeto que implemente la interface.
por ejemplo
Subtema
InstrumentoMusical instrumento = new Guitarra();
instrumento.play();
System.out.prinln(instrumento.tipoInstrumento());
InstrumentoMusical i2 = new InstrumentoMusical(); //error.No se puede instanciar
Extensión de interfaces
Las interfaces pueden extender otras interfaces y, a diferencia de las clases, una interface puede extender más de una interface.
La sintaxis es:
interface nombre_interface extends nombre_interface , . . . {
tipo_retorno nombre_metodo ( lista_argumentos ) ;
. . .
}
Agrupaciones de constantes
Dado que, por definición, todos los datos miembros que se definen en una interface son static y final, y dado que las interfaces no pueden instanciarse resultan una buena herramienta para implantar grupos de constantes.
Por ejemplo:
public interface Meses {
int ENERO = 1 , FEBRERO = 2 . . . ;
String [] NOMBRES_MESES = { " " , "Enero" , "Febrero" , . . . };
}
Esto puede usarse simplemente:
System.out.println(Meses.NOMBRES_MESES[ENERO]);Esto puede usarse simplemente:
System.out.println(Meses.NOMBRES_MESES[ENERO]);
Declaración y uso
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.
Una interface se declara
nterface nombre_interface {
tipo_retorno nombre_metodo ( lista_argumentos ) ;
. . .
}