Академический Документы
Профессиональный Документы
Культура Документы
UNIVERSIDAD NACIONAL
Curso: 000348
Departamento de Lenguajes y
DE EDUCACIN A DISTANCIA
Sistemas Informticos
Gua Didctica
NDICE
1. INTRODUCCIN GENERAL.............................................................................. 5
2. OBJETIVOS ............................................................................................................ 6
3. PRERREQUISITOS ............................................................................................... 6
4. MATERIAL............................................................................................................. 6
4.1. BIBLIOGRAFA BSICA ........................................................................................................... 7
4.2. BIBLIOGRAFA DE AMPLIACIN ........................................................................................... 7
4.3. CONTENIDO DEL CD-ROM................................................................................................ 8
4.3.1. Entorno de programacin............................................................................................ 8
4.3.2. Material adicional para resolver los cuadernos de evaluacin................................. 9
4.3.3. Instalacin del entorno de programacin ................................................................ 11
Paso 1: instalacin de Java SDK ..................................................................................... 11
Paso 2: instalacin de RealJ.............................................................................................. 17
Paso 3: instalacin de la ayuda de SDK en RealJ.......................................................... 20
Paso 4: instalacin del paquete javagently...................................................................... 22
4.3.4. Edicin, compilacin y ejecucin de un ejemplo: Anillos Olmpicos ............. 25
4.3.5. Resumen de organizaciones de carpetas .................................................................. 35
Organizacin de las carpetas del CD-ROM .................................................................. 35
Organizacin de las carpetas de su ordenador acabada la instalacin ....................... 36
4.4. PROBLEMAS CON REALJ EN LOS SISTEMAS OPERATIVOS WINDOWS 2000, NT SERVER
Y XP.............................................................................................................................................. 37
Pgina 3
Pgina 4
1. INTRODUCCIN GENERAL
La Programacin Orientada a Objetos (POO) se basa en el empleo de clases y objetos. Una
clase es un tipo abstracto de datos (TAD) con estructura y estado interno. Cada clase tiene
definidas unas operaciones para acceder a ese estado o modificarlo. Los objetos son
ejemplares o instancias de una clase. El objetivo de este paradigma, es obtener un
software ms consistente, robusto y reutilizable, fcil de verificar, mantener, refinar y
extender.
JAVA es un lenguaje de POO que ha surgido recientemente (la primera versin es
del ao 1995) y presenta las siguientes caractersticas:
Pgina 5
2. OBJETIVOS
En este curso se pretende introducir al alumno en el uso del lenguaje JAVA desde
el punto de vista de la POO. Dentro de la POO el curso se centrar en:
3. PRERREQUISITOS
El curso est orientado a aquellas personas con cierta prctica en el uso de
computadores. Est destinado a aficionados o profesionales de la informtica que quieran
introducirse en las metodologas de POO mediante el uso del lenguaje de programacin
JAVA. Es aconsejable, aunque no imprescindible, tener algunos conocimientos de
programacin de propsito general y tener la posibilidad de utilizar un computador con
lector de CD-ROM.
4. MATERIAL
Adems del texto base, el curso consta de este documento, dos cuadernillos de
evaluacin a distancia (ver seccin Criterios de evaluacin) y un CD-ROM (ver seccin Gua de
instalacin del entorno de programacin).
Pgina 6
Enrique Castillo, ngel Cobo, Patricia Gmez, Cristina Solares. JAVA TM. Un
lenguaje de programacin mutltiplataforma para Internet. Paraninfo. Madrid, 1997.
Mark Allen Weiss. Estructuras de datos en JAVA. Addison Wesley. Madrid, 2000.
Pgina 7
http://java.sun.com/
http://www.confluent.fr/javadoc/jdk14e.html
Clases auxiliares javagently que proporciona Judy Bishop, autora del libro de
referencia JAVA. Fundamentos de programacin. Como comprobaremos
durante el curso, nos sern sumamente tiles al desarrollar programas Java.
Pgina 8
La evaluacin final del curso se basar en la solucin enviada por el alumno de los
cuadernos de evaluacin a distancia. Este curso consta de dos cuadernos, correspondientes
a las Unidades Didcticas 1 y 2. Los cuadernos contienen el enunciado de los ejercicios que
el alumno debe resolver. Para facilitar el entendimiento de los enunciados, el CD-ROM del
curso contiene por cada ejercicio una demostracin del aspecto final que debe presentar su
solucin.
Dentro del CD-ROM, las unidades didcticas se han organizado en dos carpetas
UD1 y UD2. Cada una de ellas, dispone de dos subcarpetas:
Pgina 9
Pasemos a ejecutar la demostracin del ejercicio. Para ello, basta con hacer doble
clic con el ratn sobre el archivo Ejecutame.bat dentro de la carpeta Prueba correspondiente.
Pgina 10
Pgina 11
2. Abrir la carpeta Java/Instalar y hacer doble clic con el ratn sobre el archivo
j2sdk-1_4_0--win.exe.
Pgina 12
Pgina 13
Pgina 14
Pgina 15
Pgina 16
Pgina 17
Pgina 18
5. RealJ nos permite concretar los accesos directos o atajos que deseamos tener. Le
aconsejamos que deseleccione la opcin Start RealJ when the computer is turned on. De lo
contrario, se iniciar este programa cada vez que encienda su ordenador. A continuacin,
pulse Install.
Pgina 19
Pgina 20
3. Abrir RealJ haciendo doble clic con el ratn sobre su icono en el escritorio de Windows.
Pgina 21
Pgina 22
2. Abrir RealJ haciendo doble clic con el ratn sobre su icono en el escritorio de Windows.
Pgina 23
6. Pulsar Aceptar.
Pgina 24
Para ilustrar el uso del entorno de programacin nos serviremos del ejemplo 2.2: Anillos
olmpicos (pgina 20 del libro de referencia Java. Fundamentos de la programacin).
Este ejemplo contiene fallos, por lo que aconsejamos consultar la seccin Erratas en el libro
de referencia de este documento.
1. Crear la carpeta dentro del directorio de trabajo Java donde guardaremos nuestro
programa.
2. Abrir RealJ haciendo doble clic con el ratn sobre su icono en el escritorio de Windows.
Pgina 25
3. En RealJ deber crearse un proyecto por cada programa. Para crear un proyecto basta
con seleccionar Project NewProject.
4. RealJ ofrece facilidades para crear los tipos de proyecto ms comunes, generando de
forma automtica el cdigo esqueleto de la aplicacin. Nosotros prescindiremos de estas
facilidades, por lo que se mantendr la seleccin por defecto Empty Project. Escribir el
nombre del proyecto (AnillosOlimpicos). Aconsejamos que este nombre sea descriptivo
de su contenido y no demasiado largo. A continuacin, pulsar OK.
Pgina 26
6. El ejemplo a realizar contiene una sola clase. Para crearla basta con pulsar
seleccionar la opcin File New. A continuacin, elegir Java Source File y pulsar OK.
Pgina 27
7. Sobre el documento nuevo que acaba de surgir, editamos el cdigo del programa
ejemplo.
Nombre de la clase:
Anillos
Pgina 28
8. Pulsando
editado en la carpeta que creamos en el primer paso. El nombre del fichero .java debe
coincidir exactamente con el nombre de la clase, respetndose letras maysculas y
minsculas.
9. Aadir la clase editada al proyecto. Para ello, seleccionar la opcin Project Add Java
Source Files.
Pgina 29
11. Como puede observarse en la zona izquierda del proyecto, la nueva clase ha sido
aadida. Este sencillo ejemplo nicamente consta de una sola clase. En casos ms
complicados, habr que repetir los pasos 6-10 tantas veces como clases tenga el programa.
Para facilitar la edicin de cdigo, puede expandir el rbol de clases pulsando con el ratn
sobre
Pgina 30
12. Indicar en el proyecto cual es la clase principal. En el ejemplo, al existir una nica clase,
sta ser la principal. Posicinese sobre la clase en la zona izquierda del proyecto
, y pulse el botn derecho del ratn. Surgir un men, en el deber seleccionar
Set as Main.
14. Guardar el proyecto en la carpeta que creamos en el primer paso. La extensin del
fichero debe ser un nico .jpr. En ocasiones RealJ aade dos extensiones, por ejemplo
AnillosOlimpicos.jpr.jpr, debiendo eliminarse una de ellas.
Pgina 31
Pgina 32
17. Puesto que el fallo est en Color, busquemos Color en el ndice de la ayuda. Para
ello, seleccionar la pestaa Indice, escriba Color en el primer cuadro de texto y pulse
Mostrar.
18. La ayuda nos mostrar una seleccin de los temas que ha encontrado relacionados con
la bsqueda de Color. Seleccione Color y pulse Mostrar.
Pgina 33
Pgina 34
presionando F5.
Instalacin
Material de soporte
para la realizacin de
los cuadernos de
evaluacin
Demostraciones de los
ejercicios de los
cuadernos de
evaluacin
Pgina 35
Pgina 36
http://www.jcreator.com
http://www.uned.es/pea-programacion-java/
Pgina 37
Pgina 38
Asegrese de que la carpeta que aparece en pantalla se corresponde con el lugar donde
instal el Java SDK. Pulse Next.
Pgina 39
Pulse Finish.
Pgina 40
Para construir un programa debe crear previamente un proyecto. Para ello, seleccione
Project New Project.
Pgina 41
Pgina 42
El ClassPath es una variable de entorno que le sirve al SDK de Java para saber donde
buscar clases auxiliares (nosotros lo utilizaremos para que SDK sepa donde localizar el
paquete javagently proporcionado por la autora del libro de referencia). Para configurar el
ClassPath posicinese en la pestaa Required Libraries y pulse Next.
Pgina 43
Pgina 44
Utilice el campo Name para nombrar a su clase y el campo Location para especificar su
ubicacin. Pulse Finish.
Ahora ya puede editar su clase.
Pgina 45
Pulse
(Compile Project).
Pgina 46
Pgina 47
CAPTULO 3. Estructuracin.
Pgina 48
(col, fahrenheit, main, ...). Esta es una convencin comnmente seguida por los
programadores en JAVA y es aconsejable que la siga.
No puede abordarse la programacin de software de cierta complejidad codificando
directamente sobre el ordenador. Al igual que antes de construir un edificio ladrillo sobre
ladrillo, es necesario disponer de los planos del mismo, el programador deber contar con
un diseo del programa antes de codificar. Existen numerosas notaciones para disear
planos software, siendo JMT una de las ms extendidas. Por ello, no debe pasar por alto
el apartado 3.4 Pautas para el diseo de clases, y antes de la realizacin de cualquier programa,
acostmbrese a disear su solucin en JMT.
El ejemplo 3.6, el Caso de estudio I y el ejercicio 1: Tabla de Multiplicar de la Gua
Didctica 1, revisan todos los conceptos introducidos en este captulo. Dichos supuestos
prcticos implican la compresin de numerosos e importantes conceptos. El alumno sin
experiencia previa en programacin puede sentirse abrumado ante tanta informacin. Sin
embargo, el estudio detenido de los diagramas JMT, la introduccin de la solucin en el
entorno de programacin, su ejecucin, y la experimentacin con la misma introduciendo
variaciones, le permitirn asentar los conocimientos.
Pgina 49
Pgina 50
Una explicacin clara al respecto puede encontrarse en las pginas 65-77 del libro
de ampliacin:
Pgina 51
Pgina 52
Pgina 53
Pgina 54
el trabajo en grupo.
n-
dimensionales. Aconsejamos la realizacin de los ejemplos 6.2 y 6.3, as como del ejercicio 4:
Producto de Martices, de la Unidad Didctica 1.
La ordenacin de tablas y la bsqueda de elementos en las mismas son operaciones
muy frecuentes en programacin. En este captulo se introducen los mtodos ms sencillos
(pero no los ms eficientes) para realizar estas tareas: ordenacin de tablas por seleccin
directa y bsqueda lineal de elementos en tablas. La ejecucin del ejemplo 6.4 en el
entorno de programacin RealJ ayudar a comprender estas cuestiones. Adems, el citado
ejemplo presenta el mtodo compareTo de comparacin entre cadenas de caracteres.
JAVA proporciona tablas de altas prestaciones como son las clases Vector y
Hashtable. Estas herramientas pueden ser realmente tiles en problemas concretos, sin
Pgina 55
Pgina 56
cuando las alteraciones en cadenas de caracteres sean frecuentes. Estudie con atencin el
ejemplo 7.1 y trate de resolverlo utilizando la clase StringBuffer en lugar de String. Para
obtener una relacin de los mtodos que ofrece StringBuffer consulte la ayuda JDK de
RealJ tal y como se describe a continuacin:
1. Seleccione la opcin JDK Help
cualquier pas. Teniendo en cuenta que una proporcin mas que considerable
del software que se desarrolla en el mundo son aplicaciones bancarias,
deducimos la gran utilidad de este paquete.
Aconsejamos por tanto, el estudio de los ejemplos 7.3, 7.4, 7.5, 7.6 y 7.7.
Pgina 58
Pgina 59
Pgina 60
que
se
tienen
las
clases
Estudiante
Trabajador,
un
Pgina 61
En notacin JMT:
Persona
toString
nombre
Trabajador
Estudiante
toString
EstudianteTrabajador
Pgina 62
aconsejamos la realizacin de todos los ejemplos del libro, as como del ejercicio 1:
Ordenacin de figuras geomtricas de la Unidad Didctica 2.
En los tiempos que corren, cualquier lenguaje de programacin serio debe facilitar
la creacin de aplicaciones visuales, esto es, la generacin de ventanas, botones,... Uno de
los paquetes que JAVA proporciona para estos menesteres es el java.awt.
Algunos entornos de programacin comerciales como VisualAge de IBM,
proporcionan un editor grfico con el que el diseo de ventanas se reduce a pintar con el
ratn botones, paneles, ..., encargndose el propio editor de generar automticamente el
cdigo JAVA correspondiente. El problema que plantean estas herramientas es muy similar
al de los editores de pginas web (por ejemplo, FrontPage de Microsoft):
Pgina 63
Pgina 64
Los Applets permiten dotar de dinamismo a las pginas web, principal vehculo de
explotacin de Internet. Sin embargo, hoy da somos testigos de una batalla entre
multinacionales y estndares, principalmente entre Sun, creadora de JAVA, Microsoft con su
Internet Explorer y Netscape con su Navigator. Aunque Sun establece el estndar de JAVA,
tanto Netscape como Microsoft tratan de aduearse del mismo, implementando mquinas
virtuales propietarias que aaden ciertas prestaciones al estndar e ignoran otras.
Pgina 65
Pgina 66
Pgina 67
2. Situarse sobre la clase principal (en el ejemplo Monedas.java) y pulsar el botn derecho
del ratn, seleccionando a continuacin la opcin Add HTML File.
Pgina 68
Pgina 69
Pgina 70
Pgina 20
import java.awt.*;
import java.awt.event.*;
class Anillos extends Frame {
public Anillos() {
setTitle("Anillos Olimpicos");
} /* Constructor */
public static void main(String [] args) {
Frame f = new Anillos();
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}});
f.setSize(300,200);
f.setVisible(true);
} /* main */
public void paint (Graphics g) {
g.setColor(Color.red);
g.drawOval(30,40,35,35);
g.setColor(Color.blue);
g.drawOval(50,50,35,35);
g.setColor(Color.green);
g.drawOval(70,40,35,35);
g.setColor(Color.yellow);
g.drawOval(90,50,35,35);
g.setColor(Color.black);
g.drawOval(105,40,35,35);
} /* paint */
} /* Anillos */
Pgina 59
Pgina 71
And &&
Falso
Verdad
Falso
Verdad
Falso
Falso
Falso
Falso
Falso
Verdad
Verdad
Falso
Verdad
Verdad
Verdad
Falso
Or ||
Falso
Verdad
Not !
Falso
Falso
Verdad
Falso
Verdad
Verdad
Verdad
Verdad
Verdad
Falso
Xor ^
Pgina 114
Problema Los cheques falsificados estn en circulacin y los bancos han descubierto que todos tienen las
mismas propiedades distintivas. Un cheque puede ser falso si en el nmero de cheque de 10 dgitos hay:
1. Tres o ms ceros en sucesin,
2. y/o cuatro o ms no-ceros seguidos.
Pgina 72
7. CRITERIOS DE EVALUACIN
La evaluacin final se basar en la solucin enviada por el alumno de los
cuadernos evaluacin a distancia. Dicha solucin deber adjuntarse en papel con los
citados cuadernos.
8. PROFESORADO
9. TUTORAS
Las consultas pueden realizarse por correo, enviando las cuestiones al profesorado
responsable del curso. As mismo, est prevista una tutorizacin de consultas telefnicas o
con presencia de los alumnos en los locales del departamento de Lenguajes y Sistemas
Informticos en la Sede Central de la UNED.
Direccin postal:
A la atencin de Rubn Heradio Gil
Programacin orientada a objetos en JAVA
Dpto. de Lenguajes y Sistemas Informticos
Apdo. 60149 28080 MADRID
Pgina 73
Contacto telefnico:
Est prevista como jornada de guardia para recibir consultas telefnicas o
presenciales la maana del jueves, de 10 a 14 horas.
Tel.: 91 398 8242 / 7617 / 6478 / 6486 / 6487
Fax: Tambin se indica el nmero de fax para aquellas personas que puedan
disponer de este medio. Este es el 91 398 65 35. Los envos por fax debern
realizarse a la misma direccin que los envos por correo.
Correo electrnico:
Para aquellos alumnos que dispongan de este medio, pueden enviar sus mensajes a
la direccin: java@lsi.uned.es
15-II-2003
15-V-2003
30-VI-2003
Pgina 74