El siguiente paso es definir unצובינד que será una claseדזשאַוואַque permita definir laacción de dibujar los gráficosy asignársela a los objetos, de forma que la clase encargada de pintarlos los reconozca.
א interfaz אין ז'אבאes una colección de métodos abstractos y propiedades. En ellas se especifica qué se debe hacer pero no su implementación. Serán las clases que implementen estas interfaces las que describan la logica del comportamiento de los métodos.(די)
Declaración del interface
א “צובינד” se declara de forma similar a una “Clase” en JAVA, se almacena en un fichero con extensión “.java” y su nombre debe coincidir con el del interface.
אין די “ייד” añadiremos un interface al proyecto de forma similar a la que hemos visto desde el menú:
File->לייג->צובינד
o bien lo podemos hacer mediante el menú gráfico como se aprecia en la figura
En la ventana que aparecerá para definir el interface deberemos indicar el nombre y el paquete en el que queremos que se guarde.
Usaremos el paquete “graph” donde estamos generando la librería y lo denominaremos “SimpleDrawable” ya que será el interface responsable de definir la propiedad de ser pintables (dibujables) los objetos que lo implementen.
Al implementar el interface únicamente definiremos un método o función:
Esta función permitirá que se puedan representar los objetos que la implementen,
דעמאָלט crearemos un objeto gráficoque implementará este “צובינד”, lo que nos permitirá entender el funcionamiento básico de esta metodología orientada a objetos y basada en “interfaces”.
El objeto a implementar será un simple punto en dos dimensiones, la clase “Point2D”. Lo añadiremos al paquete “graph” como el resto de elementos de nuestra librería que, שפּעטער, podremos reutilizar construyendo objetos más complejos.
El objeto declarará un par de variables encargadas de almacenar las coordenadas del punto que define. די בייַטעוודיק “X” mantendrá la ordenada y la “און” la abcisa del punto.
int x=0;
int y=0;
Dispondremos de dos constructores de la clase, uno que no admite parámetros y otro que nos servirá para iniciar el objeto con unas coordenadas concretas.
עפנטלעך Point2D()
עפנטלעך Point2D(ינט x1,int y1)
La clase implementará el “interdace SimpleDrawable”. Esto obligará a implementar el método “פאַרב” que se declara en el “צובינד” y que servirá para que el objeto se represente gráficamente en pantalla.
Para que la clase responsable de almacenar y pintar los objetos cumpla con sus requisitos necesitamos definir una forma de almacenar los objetos gráficos.
Una solución consiste en definir un “Vector” דזשאַוואַ. Esta clase se encuentra en un paquete de los distribuidos en el core de la aplicación, y representa una memoria dinámica de almacenamiento.
Añadiremos una función denominada “addElement” que será la responsable de añadir elementos a la base de datos. Esta clase debe ser pública para permitir el acceso a la misma desde otras clases del programa.
Deberemos implementar la lógica que pinta los objetos en el método “פאַרב”. Esta función irá analizando cada uno de los elementos que se encuentran en la base de datos (“Vector” de almacenamiento) y comprobará previamente si derivan del interface “SimpleDrawable” para saber si son representables. En caso de serlo, forzará la conversión de tipos y llamará a su función “פאַרב”.
Para comprobar si el objeto implementa el “צובינד”utilizaremos la comprobación con la palabra reservada “instanceof“
Se puede implementar esta lógica de maneras diferentes. En el primer caso se ha integrado una estructura de tipo “for-next” para extraer los elementos del “Vector”. En el segundo caso se ha presentado una alternativa con una orientación a objetos más genérica, mediante el uso de un “Enumeration“.
Se recomienda consultar los manuales básicos de programación en JAVA para analizar con detalle estas alternativas.
La estructura del proyecto habrá cambiado con la incorporación tanto del “צובינד” como de la clase “Point2D”. La biblioteca gráfica empieza a completar su estructura básica de funcionamiento.
Sólo nos queda modificar el programa principal de ejemplo para añadir algunos objetos a la base de datos que hemos definido en la clase “Blackboard”.
Para añadir elementos hemos definido una nueva función llamada “iniciarElementos()” que creará tres nuevos puntos con el operador “new” און, mediante la llamada a la función “addElement” כייפעץ “pizarra” , los incorporará a nuestra clase gestora de objetos.
El resultado de la ejecución del programa es el que se muestra en la imagen que se adjunta..
Los puntos que hemos almacenado en la base de datos se representan en las coordenadas con las que los hemos inicializado.
En caso de iniciar los objetos con el constructor sin parámetros, se representarían en las coordenadas (0,0) superpuestos unos sobre otros, ya que tendrían los valores por defecto.
El siguiente paso en nuestra estructura será ver cómo incorporamos la interacción al programa. Primero definiremos unאַנאַמיישאַן מאָטאָרpara gestionar elementos que interactuen o se muevan solos, y posteriormente indicaremos cómo manipular los objetos con el ratón.
Debe estar conectado para enviar un comentario.