El diagrama de clases de la Figura 1.2 indica
que las clases RectanguloGrafico y CirculoGrafico son el resultado, tanto de las clases Rectángulo y Circulo de las que derivan,
como de la interface Dibujable. que de alguna manera interviene en el proceso.
El concepto de
interface es muy importante en Java. A diferencia de C++, Java 110 permite herencia múltiple, esto es. 110 permite que una clase derive de dos clases
distintas heredando de ambas métodos y variables miembro. La herencia múltiple es fuente de problemas,
pero en muchas ocasiones es una característica muy conveniente. Las interfaces de Java
constituyen una alternativa a la herencia múltiple con importantes ventajas prácticas y de "estilo de
programación".
Una interface es
1111 conjunto de declaraciones de métodos (sin implementación. es decir, sin definir el código de dichos métodos). La declaración consta del tipo del valor
de retomo y del nombre del método, seguido por el tipo de los argumentos entre paréntesis.
Cuando una clase implementa una determinada interface. se compromete a dar una definición a
todos los métodos de la interface. En cierta forma una interface se parece a una clase abstract
cuyos métodos son todos abstract. La ventaja de las interfaces es que 110 están sometidas a las más
rígidas normas de las clases: por ejemplo, una clase 110 puede heredar de dos clases abstract. pero
sí puede implementar varias interfaces.
Una de las ventajas de las interfaces de Java es el establecer pautas o modos de funciona-
miento similares para clases que pueden estar o 110 relacionadas mediante herencia. E11 efecto, todas
las clases que implementan una determinada interface soportan los métodos declarados en la
interface y en este sentido se comportan de modo similar. Las interfaces pueden también
relacionarse mediante mecanismos de herencia, con más flexibilidad que las clases. Más adelante
se volverá con más detenimiento sobre este tema, muy importante para muchos aspectos de Java. El
fichero Dibujablejava define la interface Dibujable. mostrada a continuación.
1. // fichero Dibujable.java
2. import java.awt.Graphics;
3. public interface Dibujable {
4. public void
setPosicion(double x, double y);
5. public void dibujar(Graphics
dw) ;
6. }
La interface
Dibujable está dirigida a incorporar, en las clases que la implenienten, la capacidad de dibujar sus objetos. El listado muestra la declaración de los
métodos setPosicionQ y dibujar(). La declaración de estos métodos 110 tiene nada de particular. Como
el método dibujar() utiliza como argumento un objeto de la clase Graphics, es necesario importar
dicha clase. Lo importante es que si las clases RectanguloGrafico y CirculoGrafico implenientan
la interface Dibujable sus objetos podrán ser representados gráficamente en pantalla.
No hay comentarios:
Publicar un comentario