PIZiadas图形

PIZiadas图形

我的世界是英寸.

图形化编程: 面向对象的图形和接口 [JAVA]

ejemplo_interfacesEn los pasos previos que hemos visto, aprendimos a 安装开发环境 (IDE) 通过日食创建一个新项目, posteriormente se ha añadido un programa al proyecto Eclipsy hemos comenzado a estructurar la aplicación iniciando la construcción de los elementos de la librería gráfica.

El siguiente paso es definir un 接口 que será una clase JAVA que permita definir la acción de dibujar los gráficos y 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 “类” en JAVA, se almacena en un fichero con extensión “.java的” y su nombre debe coincidir con el del interface.

在 “IDE” añadiremos un interface al proyecto de forma similar a la que hemos visto desde el menú:

文件->添加>接口

o bien lo podemos hacer mediante el menú gráfico como se aprecia en la figura

addInterface

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 “图形” 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.

add_interface_window

Al implementar el interface únicamente definiremos un método o función:

void paint(图形克);

Esta función permitirá que se puedan representar los objetos que la implementen,

interface_simpleDrawable_text

然后 crearemos un objeto gráfico que implementará este “接口”, lo que nos permitirá entender el funcionamiento básico de esta metodología orientada a objetos y basada eninterfaces”.
El objeto a implementar será un simple punto en dos dimensiones, la clase “的Point2D”. Lo añadiremos al paquete “图形” como el resto de elementos de nuestra librería que, 后来, podremos reutilizar construyendo objetos más complejos.
interface_simpleDrawable
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á elinterdace 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.
Punto2D
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 unVector” JAVA. 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 denominadaaddElementque 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 (“Vectorde 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 reservadainstanceof
pizarra_bd
Se puede implementar esta lógica de maneras diferentes. En el primer caso se ha integrado una estructura de tipofor-nextpara extraer los elementos delVector”. En el segundo caso se ha presentado una alternativa con una orientación a objetos más genérica, mediante el uso de unEnumeration“.
Se recomienda consultar los manuales básicos de programación en JAVA para analizar con detalle estas alternativas.
paint_enum
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.
Estructurainterfaces
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 “黑板”.
Para añadir elementos hemos definido una nueva función llamada “iniciarElementos()” que creará tres nuevos puntos con el operador” 和, mediante la llamada a la funciónaddElement” 物体 “黑板” , los incorporará a nuestra clase gestora de objetos.
iniciarElementos
El resultado de la ejecución del programa es el que se muestra en la imagen que se adjunta..

ejemplo_interfaces2

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.
JAVA

当然JAVA