fundamentos de la programacion´ · fundamentos de la programacion´ herramienta drjava 5 1....

15
Gui ´ on 1 Herramienta DrJava Noviembre de 2005 Fundamentos de la Programaci ´ on Curso 2005/2006

Upload: truongthuan

Post on 29-Oct-2018

249 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Guion 1

Herramienta DrJavaNoviembre de 2005

Fundamentos de la ProgramacionCurso 2005/2006

Page 2: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado
Page 3: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Indice

1. Introduccion 5

2. Descarga. Requisitos del sistema 5

3. Ejecucion 5

4. Edicion de codigo 54.1. Panel de definiciones . . . . . . . . . . . . . . . . . . . . . 64.2. Panel de archivo(s) . . . . . . . . . . . . . . . . . . . . . . . 7

5. Creacion de proyectos 8

6. Panel de interaccion 10

7. Compilacion 12

8. Depuracion 12

9. Documentacion 12

10.Apendice: configuracion 12

Page 4: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado
Page 5: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 5

1. Introduccion

DrJava es un entorno de programacion para Java, especialmente pen-sado para ayudar a los estudiantes a comprender los aspectos relacio-nados con los principios de la orientacion a objetos. No se trata de unentorno completo de desarrollo. Una de sus principales ventajas radica enla existencia de una ventana de interaccion, que permite probar en vivo yen directo la validez de ciertas sentencias.

La principal idea subyacente a DrJava es facilitar al maximo su uso, yaque pretende ayudar todo lo posible a quienes aprenden el lenguaje Javade programacion.

2. Descarga. Requisitos del sistema

La pagina principal de DrJava es http://drjava.org. Ahı puedenencontrarse varias versiones de esta herramienta. Para cada una de ellasse diferencian las dedicadas a Linux (Jar file), Windows y MacOS.

La version instalada en el aula de practicas es la correspondiente sa Linux, y se trata de un archivo jar, que puede ejecutarse directamentemediante el programa java. Sin embargo, para Windows se trata de unarchivo ejecutable usual.

3. Ejecucion

En las aulas de practicas el archivo descargado se encuentra alma-cenado en el directorio /usr/local. Se trata del archivo drjava-stable-20050814-2234.jar. La forma de ejecutar la herramienta es mediante elsiguiente comando:

java -jar /usr/local/drjava-stable-20050814-2234.jar

En caso de tener ya creado el archivo java de la clase con la que tra-bajar, tambien puede ejecutarse para empezar a trabajar de forma directacon ella (supongamos que el archivo creado con la clase a editar se de-nomina Prueba.java):

java -jar /usr/local/drjava-stable-20050814-2234.jar Prueba.java

En Windows simplementa basta con hacer doble clic sobre el archivoejecutable correspondiente.

4. Edicion de codigo

El elemento central de la DrJava es un editor de texto, con todas lasherramientas convencionales de este tipo de herramientas. Quizas una de

5

Page 6: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 6

las mas atractivas sea la presentacion del texto coloreado, segun la sin-taxis del lenguaje Java: de esta forma, las palabras reservadas se colo-rearan de una forma, los comentarios de otra, etc.

La Figura 1 muestra una vista general de DrJava.

Figura 1: Vista general de DrJava

Iremos describiendo una a una sus componentes.

4.1. Panel de definiciones

El panel de definiciones es la ventana principal de DrJava, donde semuestra el codigo actualmente editado. A medida que se va escribiendoel editor ayuda de diversas formas:

Coloreado de palabras segun la sintaxis. DrJava colorea de distintaforma las palabras que se van tecleando, de forma que se ponga demanifiesto la estructura del programa. Los comentarios se muestranen color verde, las palabras reservadas (como class, void, static, etc)en color azul, las cadenas de caracteres en rojo y los caracteres enmorado. Para cualquier otro texto se usara el color negro.

6

Page 7: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 7

Indentacion automatica. La clave de la indentacion en Java es el usodel tabulador. En lugar de insertar un tabulador o espacios en blan-co, al pulsar sobre el tabulador se producira la correcta indentacionde todo el codigo. Por defecto, se emplean dos espacios en blancopara cada nuevo nivel de indentacion, y esta sera la opcion que seuse. Este sera el estandar de presentacion que se use, a todos losefectos, en la entrega de las practicas de la asignatura.

Emparejamiento de parentesis y llaves. De forma automatica, DrJa-va resalta la seccion contenida entre parentesis y llaves, ayudandoası a controlar que su insercion y cierre se corresponden de formaadecuada.

Introduccion de comentarios. DrJava ayuda a que la introduccion decomentarios al codigo se haga de la forma mas sencilla posible. Enlos comentarios multilınea (aquellos que comienzan por /* y terminanpor */) DrJava inserta el caracter * al producirse un salto de lınea. In-cluso da la posibilidad de realizar de forma automatica la marca defin de comentario. Conviene activa esta opcion, de la forma siguien-te:

1. Seleccionad la opcion Preferences, en la barra de menu Edit.Esto hara que aparezca la ventana mostrada en la Figura 2. Enella deberıa activarse (en la imagen ya aparece activa) la opcionAutomatically Close Block Comments, dentro del conjunto deopciones denominadas como Miscellaneous.

Figura 2: Ventana de preferencias de DrJava

4.2. Panel de archivo(s)

El panel presente a la izquierda muestra los archivos abiertos con losque se puede trabajar. La Figura 3 muestra que los dos archivos abiertosactualmente son Jugador.java y Equipo.java.

7

Page 8: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 8

Figura 3: Trabajo con varios archivos a la vez

En la parte inferior aparece una ventana que permite visualizar la in-formacion de tres pestanas diferentes: interacciones (donde, como ya severa, se pueden ejecutar directamente sentencias, sin necesidad de dis-poner de un metodo main), consola (donde se ira mostrando la salidadel programa: todo lo impreso mediante la sentencia System.out.println())y salida del compilador (donde se mostraran los errores presentes enel codigo y detectados por el compilador). El panel de interacciones severa con mas detalle en una seccion especıfica (6).

5. Creacion de proyectos

DrJava incluye la posibilidad de gestionar programas compuestos pormultiples archivos mediante proyectos. Mediante este facilidad es posibleguardar toda la informacion sobre las clases involucradas en un archivode proyecto, de forma que al abrirlo se abren tambien, de forma inmediata,el codigo de las clases que lo componen.

Respecto a los proyectos se dispone de las siguientes operaciones:

Crear nuevos proyectos. Para crear un proyecto nuevo basta con

8

Page 9: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 9

seleccionar la opcion New en el menu Project. Al pulsar aquı apare-cera una nueva ventana en que dar el nombre del proyecto a crear.Como ejemplo, crearemos un proyecto llamado Practica3, donde in-cluiremos los archivos Jugador.java y Equipo.java.

Figura 4: Creacion del proyecto Practica3

Ahora se agregan los dos archivos antes mencionados. Se mues-tra como se agregarıa uno de ellos en la Figura 5. Para ello bas-tarıa con pulsar sobre el icono de carpeta de la ventana de la iz-quierda, en que se muestra la estructura del proyecto creado, con elboton derecho del raton. Seleccionando la opcion Open File in Fol-der aprecera una ventana en que seleccionar el archivo a agregar alproyecto.

Figura 5: Agregando archivo a proyecto

Una vez creado el proyecto se pueden salvar todos los cambios rea-lizados en los archivos que lo componen. Para ello se selecciona laopcion Save en el menu Project, o bien pinchando en el icono Savesobre la ventana de edicion.

Abrir un proyecto previamente creado, seleccionando la opcion Openen el menu Project.

9

Page 10: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 10

Compilar el proyecto. La opcion Compile Project, del menu Project,permite compilar de forma completa el proyecto. Esto hara qie serealice la compilacion de todos los archivos java que compongan elproyecto y que hubieran sido modificados desde la compilacion pre-via. Tambien pueden compilarse de forma separada los archivos queintegran el proyecto. Para ello basta con pulsar con el boton derechodel raton sobre el icono que representa al archivo, en la ventana dela derecha, y seleccionar la opcion Compile Current Document.

Indicar cual es la clase que contiene al metodo main. Para ello seselecciona la opcion Project Properties, en el menu Project. Estohara aparecer la ventana de edicion de propiedades, tal y como semuestra en la Figura 6.

Figura 6: Definiendo la clase que contiene el metodo main

Ejecutar el proyecto: seleccionar la opcion Run Main Document, enel menu Project. Al pulsar sobre esta opcion se ejecutara el metodomain de la clase definida como contenedora del mismo, tal y comose indico en el punto anterior.

6. Panel de interaccion

Una de las caracterısticas mas sobresalientes de DrJava es la posibi-lidad de interactuar con el codigo de las clases, sin necesidad de ofrecerla implementacion de un metodo main. Esto permite probar el efecto deintroducir ciertas sentencias, antes de incluirlas de forma definitiva en elcodigo de la clase en construccion.

Las sentencias pueden teclearse incluyendo el punto y coma del fi-nal o excluyendolo. Veamos algunos ejemplos de interaccion, junto con elresultado producido.

Comenzamos tecleando, en la ventana de interaccion, la siguientesentencia:

String cadena="Prueba con cadena de caracteres";

El resultado obtenido, al escribir ahora cadena, es el indicado en laFigura 7.

10

Page 11: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 11

Figura 7: Interaccion con cadena de caracteres

Ahora, a todos los efectos, cadena es un objeto de la clase String,sobre el que se pueden probar todos los metodos disponibles paralos objetos de esta clase. Por ejemplo, aplicar el metodo length()para determinar el numero de caracteres que componen la cadena(ver Figura 8).

Tambien es posible utilizar la funcionalidad de Java asociada a laconstruccion de interfaces de usuario. Por ejemplo, al teclear:

import java.swing.*;JFrame marco=new JFrame("Mi ventana de aplicacion");marco,show();

provoca la aparicion de un marco de aplicacion con el tıtulo indicado,como se aprecia en la Figura 9.

Y por supuesto, podemos crear objetos de las clases definidas pornosotros. Por ejemplo, puede crearse un objeto de la clase Jugador,sin mas que utilizar alguno de sus constructores. Si se usa el cons-tructor por defecto, podremos posteriormente comprobar el valor desus datos miembros (ver Figura 10).

En este caso, vemos como DrJava muestra el valor devuelto por elmetodo obtenerFicha(), sin necesidad de tener que recogerlo en unavariable para poder mostrarlo.

Las lıneas probadas en la ventana de interaccion pueden incorporarsefacilmente a los archivos de clase abiertos. Para ello basta con seleccionarla opcion Lisft Current Interaction to Definitions en el menu contextual de la

11

Page 12: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 12

Figura 8: Interaccion con cadena de caracteres

Figura 9: Interaccion con clases de interfaz grafica

ventana de interacciones, y activado al pulsar con el boton de la derechasobre ella.

7. Compilacion

Los compiladores de Java comprueban la existencia de errores en losprogramas y los traducen a ficheros .class. Cada vez que se cambie unfichero fuente, debe ser compilado antes de usarlo. Para hacer esto enDrJava, simplemente debes pinchar en Compile All”, en la barra de herra-mientas. Cualquier error resultante sera resaltado en el codigo fuente.

Ası, para compilar ficheros, debes pinchar en los botones Compile All.oen Compile Current Document”, de la barra de herramientas. Despues deque esta accion se haya llevado a cabo satisfactoriamente, el ”Interaction

12

Page 13: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 13

Figura 10: Interaccion con clase Jugador

Pane”se resetea para que se puedan usar con los nuevos ficheros .class.La salida del Console Tab”tambien se reseata para comenzar una nuevasesion.

Antes de compilar, los ficheros deben estar salvados. No es aconseja-ble modificar un fichero fuente cuando se esten monstrando los errores,pues las lıneas resaltadas pueden corresponder con la lıneas donde exis-te realmente el error.

Si el compilador encuentra algun error en el programa, DrJava lo mues-tra en la pestana Compiler Output.en la parte baja de la ventana. Se mues-tra en la lista un resumen de cada error, incluyendo el nombre del ficheroy el numero de lınea. Si se pincha con el raton cualquier error se resalta lalınea en el fichero fuente donde se ha producido (si se encuentran erroresen un fichero que no se este editado o este cargado, se carga en el edi-tor directamente). De manera analoga, si el cursor se mueve a una lıneade codigo que contiene un error mientras la pestana Compiler Output”semuestra, esta y el correspondiente mensaje de error quedan resaltados.

8. Depuracion

DrJava ofrece herramientas avanzadas para la depuracion de progra-mas en el ”Interaction Pane”. Se pueden fijar puntos de ruptura (break-points) en los ficheros fuente en el ”Definitions Pane”, llamar a metodosque se paran en los puntos de ruptura e interactuar con los programasmientras estan suspendidos en los puntos de ruptura. Concretamente enesta situacion, los usuarios pueden intractuar con cualquier variable, da-to miembro o metodos que esten en el ambito corrspondiente. El usuario

13

Page 14: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 14

puede continuar la ejecucion normal del programa o ir ejecutandolo pasoa paso (lınea a lınea).

Para utilizar el depurador de DrJava, se debe seleccionar el manda-to ”Debug Mode.en el menu ”Debugger”. Un panel informatiov se mos-trara entre el ”Definitions Pane 2el ”Interactions Pane”. Tambien se habili-taran varios items del menu ”Debugger”.

Cuando se esta utilizado el depurador, cualquier modificacion de losficheros fuentes no se reflejara en la propia depuracion hasta que se com-pile el programa de nuevo. Ademas, si se hace algun cambio las lıneasresaltadas no corresponderan con las del codigo fuente.

8.1. Puntos de ruptura

Una vez que DrJava esta en modo de depuracion, se pueden esta-blecer puntos de ruptura en casi cualquier lınea del codigo fuente en el”Definition Pane”, por medio del mandato ”Toggle Breakpoint on CurrentLine”del menu ”Debugger.o mendiante ”Toggle Breakpoint.en el menu decontexto (boton derecho del raton) estando en el ”Definition Pane”.

Cuando se establece un punto de ruptura, la lınea se resalta en rojo yuna nueva entrada aparecera en la tabla de puntos de ruptura del panel dedepuracion. Un punto de ruptura se alcanza cuando el metodo se llama enel ”Interations Pane 2el flujo de control alcanza la lınea de codigo dondese ha puesto el punto de ruptura. Cuando esto ocurre la lınea se resaltaen azul.

Solo se pueden poner puntos de ruptura en lıneas que tengan codigoejecutable. Ası, en lıneas en blanco o comentarios nunca podra habilitarseun punto de ruptura.

Cuando se alcanza un punto de ruptura, el ”Interaction Pane”se habili-ta, poseyendo el contexto del programa que ha sido suspendido, incluyen-do todas las variables, campos y metodos dentro del ambito del metodosuspendido. Se puede teclear el nombre de cualquier variable o campopara ver su valor o asignar uno nuevo, o llamar cualquier metodo dentrodel ambito para observar su conducta. Todos los cambios se reflejan enel programa en el momento en que continue su ejecucion.

8.2. Ejecucion paso a paso y reanudacion de la misma

Cuando DrJava alcanza un punto de ruptura, el metodo se suspende.Varios mandatos de los menus ”Debug 2”Debug Panel”se habilitan parasu uso. Si se elige Resume”(Reanudacion), el fichero suspendido finali-zara su ejecucion, como mınimo hasta que alcance otro punto de ruptura.

Tambien se pueden usar los mandatos ”Step”del menu ”Debug”paraejecutar paso a paso una lınea. Cada vez que se da un paso, el depuradorresaltara la siguiente lınea que se ejecutara.

Las posibilidades existente son las siguientes:

Step Into. Se introduce en las llamadas a metodos.

Step Over. Ejecutara la instruccion de la lınea sin entrar en llamadas.

14

Page 15: Fundamentos de la Programacion´ · Fundamentos de la Programacion´ Herramienta DrJava 5 1. Introduccion´ DrJava es un entorno de programacion para Java, especialmente pen-´ sado

Fundamentos de la Programacion Herramienta DrJava 15

Step Out. Finalizara la ejecucion de metodo actual y parara en lasiguiente lınea de codigo despues de la llamada del metodo.

8.3. El panel de Depuracion

Este panel aparece cuando el modo de depuracion esta activado. Dr-Java muestra todos los puntos de ruptura organizados por medio de unarbol, ası como los datos miembros y variables que esten viendo en esemomento. El ”Stack tab”(Pila) muestra la traza de la pila del programa enel momento en el que el programa se suspende y el ”Thread tab”(Hebra)muestra todas las hebras en el punto de tiempo concreto.

Las variables y datos miembros se pueden ver introduciendo su nom-bre en una fila de la tabla ”Watches”. Analogamente tambien se pudeneliminar una vez que ya no sean utiles.

9. Documentacion

Documentar el codigo es crucial para que otras personas pueden en-terderlo, y tambien para ayudar a recordar al propio programador comofuncinan programas antiguos. Ası, es muy util escribir comentarios dentrodel propio codigo fuente, donde pueden ser facilmente modificados cuan-do se cambie el codigo.

Javadoc es una herramienta que define el formato estandar para esoscomentarios, la cual tambien genera ficheros HTML para ver la documen-tacion en un navegador web.

DrJava ofrece la posibilidad de ejecutar Javadoc sobre el codigo fuentedeseado mediante los mandatos ”Javadoc All Documents 2”Preview Java-doc for Current Document”del menu ”Tools”. Estos mandatos generaranficheros HTML a partir de los comentarios escritos y los mostrara en unnavegador.

Para aprender como documentar con Javadoc, remitimos al lector alenlace http://java.sun.com/j2se/javadoc/writingdoccomments/index.html

En DrJava, la opcion ”Javadoc All Documents”generara las paginasHTML de manera conjunta de todos los ficheros fuente que esten situadosen el directorio y en sus respectivos subdirectorios de manera automati-ca, creando un directorio ”doc”donde se almacena toda la documentaciongenerada.

Otra alternativa es el mandato ”Preview Javadoc for Current Docu-ment”, el cual genera la documentacion para una unica clase sin guardarlaen disco.

Cuando cualquiera de estas dos alternativas para generar la documen-tacion se ha llevado a cabo con exito, DrJava muestra los resultados enuna ventana correspondiente a un navegador.

10. Apendice: configuracion

15