jueves, 3 de octubre de 2013

Interface Dibujable

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