domingo, 22 de febrero de 2009

04. Entendiendo el código de "HelloWorld" de java

Demos un vistazo al código que acabamos de compilar del programa HelloWorld. Lo primero que debemos tener en cuenta es que "no vamos a inventar la piedra"; es decir, no todo lo que necesitemos para nuestro programa lo vamos a necesitar hacer o escribir nosotros. Ya existen librerías o paquetes de funciones y objetos (después veremos algo más sobre lo que es un objeto en java) que otras personas escribieron y que podemos usar en nuestros programas. Para incluir estas librerías o paquetes se usa la palabra clave import, como lo hicimos en las primeras líneas de nuestro código de HelloWorld: [sourcecode language='java'] import java.awt.*; import applet.awt.*; [/sourcecode] Para explicar estas dos línea, y ya que mencionamos los objetos, es necesario tener un poco la idea del concepto de objeto usado en java, y lo haremos en base a una análogia: Una persona quiere un retrato suyo pintado a mano. Para obtener su retrato necesita (básicamente):

  • un lienzo y tripie

  • pínceles y brochas

  • pinturas y adelgazantes de pinturas

  • alguien que sepa pintar


El no va a ponerse a aprender a pintar, y mucho menos va a ponerse a hacer los demás objetos, los puede conseguir ya prefabricados (a fin de cuentas, para cumplir su meta, no es importante quien haya hecho, digamos, los pínceles).

[caption id="attachment_468" align="alignright" width="193" caption="Analogia de pintor/applet"]Analogia de pintor/applet[/caption]

Entonces, el primer paso es conseguir el lienzo, pínceles y demás objetos que necesitamos para pintar, y vamos, digamos,  con un distribuidor de materiales de arte y manualidades. Para nosotros ese distribuidor es la librería java.awt.* (primera línea import). awt es Abstract Window Toolkit. Ahora, necesitamos el pintor, y ese lo conseguimos contratando un pintor profesional. El pintor sería el applet y en java, al pintor lo conseguimos con la libreria applet.awt.* (segunda línea import).Fijense que de alugna manera sabemos que este applet sabe interactuar con la libreria que antes cargamos, por eso de que también incluye awt en su nombre. El applet, al igual que el pintor, se encarga de coordinar y manejar todos los objetos a fin de obtener su obra final.  También usando esta análogía, podemos ver que no todas las acciones que realiza el pintor se reflejan directamente en el lienzo, como por ejemplo lavar los pínceles, observar el rostro de la persona a pintar, combinar las pinturas a fin de dar un tono de color. Es lo mismo con los applets, no todo lo que ejecuta, procesa o calcula se ve reflejado directamente en pantalla. Conforme vayamos avanzando con java iremos necesitando y conociendo otros paquetes de funciones y objetos de java (digamos que no siempre o no solamente vamos a necesitar siempre de un pintor). Nota: Ojala que esta parte haya servido para darse una idea de lo que es un objeto en java. Si no, no es necesario para poder seguir continuando. Ahora veamos la siguiente línea de código (obviamente no siempre vamos a estar revisando línea a línea nuestros códigos) [sourcecode languaje='java']public class HelloWorld extends Applet[/sourcecode] Esta línea precisamente declara que HelloWorld (nuestro programa) es de la clase Applet (los objetos se dividen en clases) y que éste es el que va a coodinar las acciones del programa. A continuación sigue una llave que abre "{". Esta llave indica el comienzo de las instrucciones (acciones) que va realizar nuestro applet. El final de las acciones asociadas al applet está en la última llave que cierra "}" (dentro hay otra llave que abre y otra que cierra, que agrupa otro tipo de acciones). Siguendo con nuestra análogia (creo que la voy a seguir usando en toda esta primera parte introductoria :S), aquí es donde le diremos al pintor como queremos nuestra pintura (podría pintar un paisaje, un edificio, pero le indicaremos que queremos un retraro) y tenemos que ser los suficientemente precisos para obtener el retrato que queremos. La verdad, en el caso de la programación, las instrucciones necesitan ser tan exactas como decirle al pintor cuanto mover el píncel a cada milesima de segundo. Dentro de nuestro applet está la función pintar: [sourcecode language='java']public void paint(Graphics g) { g.DrawString("Hello World!",5,25); } [/sourcecode] Esta función pintar en realidad es un conjunto de instrucciones que están encerradas entre las llaves { }, en este caso sólo una instrucción está dentro de las llaves de pintar: [sourcecode language='java'] g.DrawString("Hello World!",5,25); [/sourcecode] que indica que se deben escribir los caracteres de la frase "Hello World!" en g (es nuestro lienzo/pantalla) en la posición (5,25), que son coordenadas en la pantalla. Bueno, con esto explicamos las líneas de nuestro código de HelloWorld y pasemos ahora a aprender que más puede hacer nuestro applet.

No hay comentarios:

Publicar un comentario