M.A. Programacioìn Orientada A Objetos
M.A. Programacioìn Orientada A Objetos
M.A. Programacioìn Orientada A Objetos
DIRECTORIO Secretario de Educacin Pblica Mtro. Alonso Lujambio Irazbal Subsecretario de Educacin Superior Dr. Rodolfo Tuirn Gutirrez Coordinadora de Universidades Politcnicas Mtra. Sayonara Vargas Rodrguez
II
PGINA LEGAL Participantes Mtra. Donaj L. Sedano Flores - Universidad Politcnica de Zacatecas
Primera Edicin: 2011 DR 2011 Coordinacin de Universidades Politcnicas. Nmero de registro: Mxico, D.F. ISBN-----------------
III
NDICE
INTRODUCCIN ............................................................................................................................................ 1 PROGRAMA DE ESTUDIOS .......................................................................................................................... 2 FICHA TCNICA ............................................................................................................................................. 3 DESARROLLO DE LA PRCTICA O PROYECTO........................................................................................... 5 INSTRUMENTOS DE EVALUACION............................................................................................................. 10 GLOSARIO ................................................................................................................................................... 23 BIBLIOGRAFA ............................................................................................................................................ 36
IV
INTRODUCCIN
El desarrollo que se ha tenido en las Tecnologas de Informacin y Comunicaciones ha generado una gran demanda de aplicaciones de software que deben ser desarrolladas para diferentes plataformas y cada vez con rangos menores de tiempos de entrega. Como una solucin a esta problemtica surge el paradigma de programacin orientado a objetos que facilita la creacin de software de calidad por sus factores que potencian el mantenimiento, la extensin y la reutilizacin del software generado bajo este paradigma. La programacin orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de la mquina. Esto es posible gracias a la forma racional con la que se manejan las abstracciones que representan las entidades del dominio del problema, y a propiedades como la jerarqua o el encapsulamiento. El elemento bsico de este paradigma no es la funcin (elemento bsico de la programacin estructurada), sino un ente denominado objeto. Un objeto es la representacin de un concepto para un programa, y contiene toda la informacin necesaria para abstraer dicho concepto: los datos que describen su estado y las operaciones que pueden modificar dicho estado, y determinan las capacidades del objeto. Java incorpora el uso de la orientacin a objetos como uno de los pilares bsicos de su lenguaje. El estudiante de Ingeniera en Sistemas Computacionales requiere desarrollar competencias en este paradigma de programacin, que le permitan disear soluciones de software en un tiempo y costo razonable haciendo uso de los conceptos del paradigma as como de un lenguaje de programacin como lo es Java.
PROGRAMA DE ESTUDIOS
Nombre: Clave:
PROGRAMACION ORIENTADA A OBJETOS POO-ES Para desarrollar soluciones haciendo uso del paradigma ms popular en el desarrollo profesional del software de aplicacin. El alumno ser capaz de programar utilizando el paradigma orientado a objetos primero en lnea de comandos y despus a travs de interfaces de usuario grficas. Lectura, escritura, interlocucin, sntesis de la informacin, aplicacin de principios tecnolgicos, relaciones en y con el entorno organizacional, relaciones interpersonales, toma de decisiones, lectura en segunda lengua, interlocucin en segunda lengua. Anlisis y sntesis, resolver problemas, aplicar los conocimientos en la prctica, adaptarse a nuevas situaciones, cuidar la calidad, gestionar la a informacin, trabajar en forma autnoma y en equipo.
Justificacin:
Objetivo:
Habilidades:
Codificar el algoritmo de solucin en un lenguaje de programacin para satisfacer las necesidades del cliente a travs de procedimientos de desarrollo.
capacidades previsas
Unidades de aprendizaje Estimacin de tiempo (horas) necesario para transmitir el aprendizaje al alumno, por Unidad de Aprendizaje: 1. Principios de la Programacin Orientada a Objetos 2. Estructuras de control y Tipos definidos por el usuario 3. Desarrollo avanzado de clases 4. Manejo de excepciones bsicas Total de horas por cuatrimestre: Total de horas por semana: Crditos:
Nombre de la asignatura: Nombre de la Unidad de Aprendizaje: Nombre de la prctica o proyecto: Nmero: Resultado de aprendizaje: Requerimientos (Material o equipo):
Programacin Orientada a Objetos Estructuras de Control y Tipos definidos por el usuario Estructura de secuencia, decisin e iteracin en tipos de datos abstractos. 01 Duracin (horas) : 2 hrs
Realizar tipos de datos abstractos mediante el uso de las estructuras bsicas de control de Programacin Orientada a Objetos.
Pizarrn, Diapositivas, Diagramas y esquemas, Equipo de cmputo, Can. Laboratorio de cmputo. Editor y compilador de un lenguaje de programacin orientado a objetos. Actividades a desarrollar en la prctica: 1. El profesor recuerda al alumno la importancia de las estructuras bsicas de control de programacin orientada a objetos (secuenciales, decisin e iteracin) utilizadas en tipos de datos abstractos, para el correcto diseo de soluciones en este paradigma de programacin. 2. El profesor muestra a los alumnos la forma correcta de desarrollar los programas asignados en esta prctica. 3. El profesor organiza equipos de 2 personas para la realizacin de la prctica. 4. El alumno desarrollar los programas asignados en la prctica. 5. El profesor supervisa el trabajo del alumno una vez que est terminado. 6. El alumno ejecuta los programas para verificar que se cumplen las especificaciones de los problemas asignados en la prctica. 7. El profesor supervisa el correcto funcionamiento de cada uno de los programas. 1. Algunos programas para la prctica propuestos son: Realiza los siguientes ejercicios usando estructuras de secuencia, decisin e iteracin:
1.1 Escriba una aplicacin que solicite un nmero de elementos a ser introducidos por el usuario. Al terminar de introducir los nmeros la aplicacin deber localizar el menor y mayor nmero del conjunto de elementos introducidos. 1.2 Una aplicacin interesante de las computadoras es dibujar grficos convencionales y de barra. Escriba una aplicacin que lea cinco nmeros, los cules deben estar en un rango entre 1 y 30. Por cada nmero ledo, su
programa debe mostrar ese nmero de asteriscos adyacentes. Por ejemplo, si su programa lee un nmero como el 7 ******* 1.3 Un almacn de pedidos por correo vende 5 productos cuyos precios de venta son las siguientes: producto 1: $2.98, producto 2: $4.50, producto 3: $9.98, producto 4: $4.49, producto 5:6.87. Escriba una aplicacin que lea una serie de pares de nmeros, como se muestra a continuacin: a) nmero del producto. b) cantidad vendida Su programa debe de utilizar una instruccin switch para determinar el precio de venta de cada producto. Debe calcular y mostrar el valor total de venta de todos los productos vendidos. Usar un ciclo controlado por centinela para determinar cundo debe el programa dejar de iterar para mostrar los resultados finales. 1.4 Escriba una aplicacin que imprima la siguiente figura de rombo. Puede utilizar instrucciones de salida que impriman un solo asterisco * *** ***** ******* ***** *** * 1.5 Escriba un programa en Java que nos calcule el cambio que debe dar la caja de un supermercado: Dado un precio y una cantidad de dinero, el programa nos dir cuntas monedas deben darse como cambio de tal forma que el nmero total de monedas sea mnimo. 1.6 Un banco recibe todos los das del Banco Mundial una lista de cmo est el cambio de las divisas del mundo respecto del dlar americano (USD). Disear un algoritmo que, a partir de una cantidad de dlares que deseamos comprar, nos devuelva la cantidad en euros (y en pesetas) que nos costaran esos dlares. Suponga que el banco obtiene en el cambio un tanto por ciento variable de beneficios. 1.7 Cuntas veces se ejecutara el cuerpo de los siguientes bucles for? for (i=1; i<10; i++) for (i=30; i>1; i-=2) for (i=30; i<1; i+=2) for (i=0; i<30; i+=4) 1.8 Implemente un programa que lea un nmero decimal y lo muestre en pantalla en hexadecimal (base 16). El cambio de base se realiza mediante divisiones sucesivas por 16 en las cuales los restos determinan los dgitos hexadecimales del nmero segn la siguiente correspondencia: Resto 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Dgito 0 1 2 3 4 5 6 7 8 9 A B C D E F 1.9 Disee un programa para jugar a adivinar un nmero entre 0 y 100. El programa ir dando pistas al jugador indicndole si el nmero introducido por el jugador es menor o mayor que el nmero que tiene que adivinar. El juego termina cuando el jugador adivina el nmero o decide terminar de jugar (por ejemplo, escribiendo un nmero negativo). 1.10 Uso y manipulacin de fechas: a. Disee una clase para representar fechas. b. Escriba un mtodo esttico que nos diga el nmero de das de un mes (ojo con los aos bisiestos!). c. Aada a su clase un mtodo que nos indique el nmero de das del mes al que pertenece la fecha. d. Incluya, en su clase Fecha, un mtodo que nos diga el nmero de das que hay desde una fecha
determinada hasta otra. e. Implemente un mtodo que nos diga el da de la semana correspondiente a una fecha concreta (p.ej. el 1 de diciembre de 2004 fue mircoles). f. Escriba un programa que muestre el calendario de un mes concreto.
Evidencias a las que contribuye el desarrollo de la prctica: ED1. Realiza prctica sobre estructura de secuencia, decisin e iteracin en tipos de datos abstractos.
Nombre de la asignatura: Nombre de la Unidad de Aprendizaje: Nombre de la prctica o proyecto: Nmero: Resultado de aprendizaje: Requerimientos (Material o equipo):
Programacin Orientada a Objetos Desarrollo avanzado de clases Manejo de constructores y palabra reservada *this 02 Duracin (horas) : 2 hrs
Construir clases aplicando conceptos avanzados del Paradigma Orientado a Objetos, Encapsulacin, Sobrecarga, herencia, polimorfismo dinmico y esttico.
Pizarrn, Diapositivas, Diagramas y esquemas, Equipo de cmputo, Can. Laboratorio de cmputo. Editor y compilador de un lenguaje de programacin orientado a objetos. Actividades a desarrollar en la prctica: 1. El profesor recuerda al alumno la importancia de la construccin de clases en el paradigma orientado a objetos para el diseo de soluciones de software eficientes y eficaces. 2. El profesor muestra a los alumnos la forma correcta de desarrollar los programas asignados en esta prctica. 3. El profesor organiza equipos de 2 personas para la realizacin de la prctica. 4. El alumno desarrollar los programas asignados en la prctica. 5. El profesor supervisa el trabajo del alumno una vez que est terminado. 6. El alumno ejecuta los programas para verificar que se cumplen las especificaciones de los problemas asignados en la prctica. 7. El profesor supervisa el correcto funcionamiento de cada uno de los programas. 1. Algunas prcticas propuestas son: Realiza los siguientes ejercicios usando adecuadamente el concepto de constructor y la palabra reservada *this
1.1 Disee jerarquas de clases para representar los siguientes conjuntos de objetos: a. Una coleccin de CDs, entre los cuales hay discos de msica (CDs de audio), discos de msica en MP3 (CD-ROMs con msica), discos de aplicaciones (CD-ROMs con software) y discos de datos (CD-ROMs con datos y documentos). b. Los diferentes productos que se pueden encontrar en una tienda de electrnica, que tienen un conjunto
de caractersticas comunes (precio, cdigo de barras) y una serie de caractersticas especficas de cada producto. c. Los objetos de una coleccin de monedas/billetes/sellos. Implemente en Java las jerarquas de clases que haya diseado (incluyendo sus variables de instancia, sus constructores y sus mtodos get/set). A continuacin, escriba sendos programas que realicen las siguientes tareas: a. Buscar y mostrar todos los datos de un CD concreto (se recomienda definir el mtodo toString en cada una de las subclases de CD). b. Crear un carrito de la compra en el que se pueden incluir productos y emitir un ticket en el que figuren los datos de cada producto del carrito, incluyendo su precio y el importe total de la compra. c. Un listado de todos los objetos coleccionables cuya descripcin incluya una cadena de caracteres que el programa reciba como parmetro. 1.2 Implemente un programa que cree un objeto de la clase Random del paquete java.util, genere un nmero entero aleatoriamente y lo muestre en pantalla. 1.3 Cree un paquete denominado documentos a. Incluya en l dos clases, Factura y Pedido, para representar facturas y pedidos, respectivamente. b. A continuacin, ya fuera del paquete, cree un pequeo programa que cree objetos de ambos tipos y los muestre por pantalla. c. Aada un tercer tipo de documento, PedidoUrgente, que herede directamente de Pedido. Compruebe que el programa anterior sigue funcionando correctamente si reemplazamos un Pedido por un PedidoUrgente. d. Cree un nuevo tipo de documento, denominado Contrato, e inclyalo en el subpaquete documentos.RRHH. En este ltimo paquete, incluya tambin un tipo de documento CV para representar el currculum vitae de una persona. e. Si no lo ha hecho ya, cree una clase genrica Documento de la que hereden (directa o indirectamente) todas las dems clases que hemos definido para representar distintos tipos de documentos. f. Implemente un pequeo programa que cree un documento de un tipo seleccionado por el usuario. Muestre por pantalla el documento independientemente del tipo concreto de documento que se haya creado en el paso anterior. OBSERVACIONES: Para cada clase que defina, determine qu miembros de la clase han de ser pblicos (public), cules han de mantenerse privados (private) y, si lo considera oportuno, cules seran miembros protegidos (protected). Tenga en cuenta que no siempre se debe permitir la modificacin desde el exterior de una variable de instancia (esto es, habr variables de instancia a las que asociemos un mtodo get pero no un mtodo set y, de hacerlo, ste puede que sea privado o protegido). Analice tambin qu mtodos de una clase deben declararse con la palabra reservada final para que no se puedan redefinir en subclases y qu clases han de ser finales (esto es, aquellas clases de las que no queramos permitir que se creen subclases). En los distintos programas de esta relacin de ejercicios puede resultar necesaria la creacin de colecciones de objetos de distintos tipos (p.ej. arrays de CDs, productos, objetos coleccionables o documentos).
Evidencias a las que contribuye el desarrollo de la prctica: ED1. Realiza prctica sobre el manejo de constructores y mtodos para establecer, obtener y hacer uso de la palabra reservada this dentro de una clase utilizando el paradigma orientado a objetos.
10
Universidad Politcnica de __________________________________________________ Nombre de la Asignatura: Programacin Orientada a Objetos INSTRUCCIONES: Conteste las siguientes preguntas basndose para ello en la bibliografa bsica y complementaria sugerida 1. Establecer con sus propias palabras la definicin de POO. 2. Establecer el concepto de: Estado, comportamiento e identidad. 3. Realizar una breve resea acerca del origen de POO. 4. Definir con sus palabras qu es una clase y dar un ejemplo. 5. Definir con sus palabras qu es una herencia y dar un ejemplo. 6. Definir con sus palabras qu es un objeto y dar un ejemplo. 7. Definir con sus palabras qu es un mtodo y dar un ejemplo. 8. Definir con sus palabras qu es un evento y dar un ejemplo. 9. Definir con sus palabras qu es un mensaje y dar un ejemplo. 10. Definir con sus palabras qu es una propiedad o atributo y dar un ejemplo. 11. Definir con sus palabras en qu consiste el estado interno y dar un ejemplo. 12. Cules son los componentes de un objeto. 13. Definir en qu consiste la identificacin de un objeto y dar un ejemplo. 14. Describir cada una de las caractersticas de la POO. 15. Dar ejemplos de lenguajes de programacin orientada a objetos.
11
CUMPLE Caracterstica a cumplir (reactivo) Puntualidad para iniciar y concluir su trabajo de identificacin de programas. Manejo de estndar de desarrollo. Programa desarrollado con el estndar establecido. Documentacin del programa Nombre de la escuela, Carrera, Asignatura, Profesor, Alumnos, Matrcula, Grupo, Lugar y fecha de entrega. Descripcin del programa. Sintaxis (cero errores sintcticos y de lgica). Identificacin del programa (explicacin) a. Describe el uso de palabras reservadas en su solucin. b. Desarrollo del programa con el uso adecuado del lenguaje y del paradigma orientado a objetos. c. Explicacin del programa (clara y precisa). d. Expresin no verbal (gestos, miradas y lenguaje corporal). Preparacin del programa. Dominio de la solucin propuesta. Habla con seguridad. Identifica claramente tipos de datos, palabras clave y estructura de programas del paradigma orientado a objetos Presentacin y arreglo personal
SI
NO
OBSERVACIONES
CALIFICACIN:
12
LISTA DE COTEJO DISEO DE PROGRAMAS UTILIZANDO DIFERENTES PARADIGMAS ORIENTADOS A OBJETOS U1, EP1
INSTRUMENTOS DE EVALUACIN LISTA DE COTEJO DATOS GENERALES DEL PROCESO DE EVALUACIN NOMBRE DEL ALUMNO: PRODUCTO: PARCIAL: MATRICULA: FIRMA DEL ALUMNO: FECHA: CLAVE: FIRMA DEL PROFESOR: INSTRUCCIONES Revisar las actividades que se solicitan y marque en los apartados SI cuando la evidencia se cumple; en caso contrario marque NO. En la columna OBSERVACIONES mencione indicaciones que puedan ayudar al alumno a saber cules son las condiciones no cumplidas, si fuese necesario.
Valor Caracterstica a cumplir (Reactivo) Cumple Si No Observaciones
Presentacin. El reporte cumple con los requisitos de: 5% a. Buena Presentacin 5% b. No tiene faltas de ortografa 5% c. Maneja el lenguaje tcnico apropiado Contenido a. Diagrama del Diseo de la solucin. El diagrama cumple 15% con las especificaciones del modelo orientado a objetos. 30% b. Codificacin. Presenta un cdigo en el lenguaje de programacin orientada a objetos sin errores. Desarrollo. Sustenta todos los pasos aplicados para la 15% solucin de las prcticas utilizando operaciones con estructuras de secuencia, seleccin e iteracin. 10% Resultados. Cumpli totalmente con el objetivo esperado. Pantallas del ejercicio en ejecucin. Las pantallas muestran el funcionamiento claro y acorde con el objetivo 10% esperado. Responsabilidad. Entreg el reporte en la fecha y hora 5% sealada. 100% Calificacin
13
GUA DE OBSERVACIN PARA PRCTICA ESTRUCTURA DE SECUENCIA, SELECCIN E ITERACIN U2, ED1
CUMPLE Caracterstica a cumplir (reactivo) Puntualidad para iniciar y concluir la prctica. Diagrama de solucin. Utiliza smbolos necesarios para el diseo de su solucin. Portada: Nombre de la escuela (logotipo), Carrera, Asignatura, Profesor, Alumnos, Matrcula, Grupo, Lugar y fecha de entrega. Sintaxis (cero errores sintcticos y de lgica). Desarrollo de la prctica. a. Codifica su solucin de manera individual. b. Desarrollo de solucin fundamentada y con una secuencia acorde al paradigma orientado a objetos. c. Organizacin de los datos a utilizar. d. Organizacin de los mtodos a desarrollar. Explicacin de la aplicacin. desarrollada. Dominio de su solucin. Explica con seguridad. Identifica claramente tipos de datos, variables, palabras clave y estructuras de datos del programa desarrollado en el paradigma orientado a objetos. Presentacin y arreglo personal
SI
NO
OBSERVACIONES
CALIFICACIN:
14
INSTRUMENTOS DE EVALUACIN LISTA DE COTEJO DATOS GENERALES DEL PROCESO DE EVALUACIN NOMBRE DEL ALUMNO: PRODUCTO: PARCIAL: MATRICULA: FIRMA DEL ALUMNO: FECHA: CLAVE: FIRMA DEL PROFESOR: INSTRUCCIONES Revisar las actividades que se solicitan y marque en los apartados SI cuando la evidencia se cumple; en caso contrario marque NO. En la columna OBSERVACIONES mencione indicaciones que puedan ayudar al alumno a saber cules son las condiciones no cumplidas, si fuese necesario.
Valor Caracterstica a cumplir (Reactivo) Presentacin. El reporte cumple con los requisitos de: Cumple Si No Observaciones
5% a. Buena Presentacin 5% b. No tiene faltas de ortografa 5% c. Maneja el lenguaje tcnico apropiado del paradigma POO
Contenido a. Diagrama del Diseo de la solucin. Los diagramas cumplen 15% con las especificaciones del modelo orientado a objetos. 30% b. Codificacin. Presenta cada ejercicio un cdigo en el lenguaje de programacin orientada a objetos sin errores. 15% Desarrollo. Sustenta todos los pasos aplicados para la solucin de las prcticas utilizando operaciones con arreglos. 10% Resultados. Cumpli totalmente con el objetivo esperado. Pantallas del ejercicio en ejecucin. Las pantallas muestran el 10% funcionamiento claro y acorde con el objetivo esperado. 5% Responsabilidad. Entreg el reporte en la fecha y hora sealada. 100% Calificacin
15
RBRICA PARA PROGRAMA ORIENTADO A OBJETOS APLICANDO MTODOS, SOBRECARGA Y SOBREESCRITURA U2, EP2
Aspectos a evaluar
Competente 10
Independiente 9
Cumple con tres de los elementos requeridos.
Bsico Avanzado 8
Cumple con dos de los elementos requeridos.
Bsico Umbral 7
El trabajo es presentado en una manera organizada, pero puede ser difcil de interpretar la solucin propuesta
Insuficiente 0
El trabajo se ve descuidado y desorganizado. Es difcil saber cmo est organizada la solucin y la relacin de las instrucciones. Poca evidencia de razonamiento lgico Ms del 75% de las sentencias codificadas en el programa tienen errores sintcticos ni lgicos Raramente usa una estrategia efectiva para disear la solucin en el paradigma orientado a objetos El estudiante no pudo trabajar la actividad efectivamente.
El programa es presentado de una manera: Orden y organizacin de 1. Clara 2. Ordenado la solucin 3. Organizado de (1 puntos) acuerdo al paradigma OO 4. Es fcil de interpretar Razonamiento lgico Usa razonamiento lgico complejo y refinado
(3 puntos)
Usa razonamiento lgico complejo. 90% de las sentencias codificadas en el programa no tienen errores sintcticos ni lgicos
Usa razonamiento lgico Alguna evidencia de efectivo razonamiento lgico La mayor parte (7585%) de las sentencias codificadas en el programa no tienen errores sintcticos ni lgicos Algunas veces usa una estrategia efectiva para disear la solucin en el paradigma orientado a objetos, pero no lo hace consistentemente El estudiante trabajo, pero necesit motivacin para mantenerse activo.
100% de las sentencias codificadas en el programa no tienen errores sintcticos ni lgicos Usa siempre una estrategia eficiente y efectiva para disear la solucin en el paradigma orientado a objetos El estudiante fue un participante activo, revisando soluciones previas as como la bibliografa sugerida y trabajando cooperativamente durante toda la leccin.
Procedimiento (3 puntos)
Casi todos (85-89%) de las sentencias codificadas en el programa no tienen errores sintcticos ni lgicos Por lo general, usa una Por lo general, usa una estrategia eficiente y estrategia efectiva para efectiva para disear la disear la solucin en el solucin en el paradigma orientado a paradigma orientado a objetos objetos El estudiante particip, revis soluciones previas as como la bibliografa sugerida y trabajo durante casi toda la leccin. El estudiante fue un participante activo, pero tuvo dificultad al revisar soluciones previas as como la bibliografa sugerida as trabajar cooperativamente durante la leccin.
16
GUA DE OBSERVACIN PARA PRCTICA MANEJO DE CONSTRUCTORES Y PALABRA RESERVADA THIS U3, ED1
CUMPLE Caracterstica a cumplir (reactivo) Puntualidad para iniciar y concluir la prctica. Diagrama de solucin. Utiliza smbolos necesarios para el diseo de su solucin haciendo uso adecuado de constructores y apuntador this. Portada: Nombre de la escuela (logotipo), Carrera, Asignatura, Profesor, Alumnos, Matrcula, Grupo, Lugar y fecha de entrega. Sintaxis (cero errores sintcticos y de lgica). Desarrollo de la prctica. a. Codifica sus soluciones de manera individual b. Desarrollo de soluciones fundamentadas y con una secuencia acorde al paradigma orientado a objetos haciendo uso adecuado de constructores y apuntador this c. Organizacin de los datos a utilizar. d. Organizacin de los mtodos a desarrollar. Explicacin de la aplicacin desarrollada. Dominio de su solucin. Explica con seguridad. Identifica claramente los constructores y los apuntadores this en los programas desarrollados en el paradigma orientado a objetos. Presentacin y arreglo personal
SI
NO
OBSERVACIONES
CALIFICACIN:
17
INSTRUMENTOS DE EVALUACIN LISTA DE COTEJO DATOS GENERALES DEL PROCESO DE EVALUACIN NOMBRE DEL ALUMNO: PRODUCTO: PARCIAL: MATRICULA: FIRMA DEL ALUMNO: FECHA: CLAVE: FIRMA DEL PROFESOR: INSTRUCCIONES Revisar las actividades que se solicitan y marque en los apartados SI cuando la evidencia se cumple; en caso contrario marque NO. En la columna OBSERVACIONES mencione indicaciones que puedan ayudar al alumno a saber cules son las condiciones no cumplidas, si fuese necesario.
Valor Caracterstica a cumplir (Reactivo) Presentacin. El reporte cumple con los requisitos de: a. Buena Presentacin b. No tiene faltas de ortografa c. Maneja el lenguaje tcnico apropiado del paradigma POO Contenido a. Diagrama del Diseo de la solucin. Los diagramas cumplen con las especificaciones del modelo orientado a objetos especficamente el uso de herencia y polimorfismo. b. Codificacin. Presenta cada ejercicio un cdigo en el lenguaje de programacin orientada a objetos sin errores. Desarrollo. Sustenta todos los pasos aplicados para la solucin de las prcticas utilizando herencia y polimorfismo. Resultados. Cumpli totalmente con el objetivo esperado. Pantallas del ejercicio en ejecucin. Las pantallas muestran el funcionamiento claro y acorde con el objetivo esperado Responsabilidad. Entreg el reporte en la fecha y hora sealada Calificacin Cumple Si No Observaciones
5% 5% 5%
18
Universidad Politcnica de __________________________________________________ Nombre de la Asignatura: Programacin Orientada a Objetos INSTRUCCIONES: Conteste las preguntas y realice los ejercicios sealados.
1. Is the following code legal? 1. try { 2. 3. } finally { 4. 5. } 2. What exception types can be caught by the following handler? 1. catch (Exception e) { 2. 3. } 3. What is wrong with using this type of exception handler? Is there anything wrong with the following exception handler as written? Will this code compile? 1. try { 2. 3. } catch (Exception e) { 4. 5. } catch (ArithmeticException a) { 6. 7. } 4. Match each situation in the first list with an item in the second list. a. int[] A; A[0] = 0; b. The JVM starts running your program, but the JVM can't find the Java platform classes. (The Java platform classes reside in classes.zip or rt.jar.) c. A program is reading a stream and reaches the end of stream marker. d. Before closing the stream and after reaching the end of stream marker, a program tries to read the stream again. 0. 1. __error __checked exception
19
2. 3.
Exercises 1. Add a readList method to ListOfNumbers.java. This method should read in int values from a file, print each value, and append them to the end of the vector. You should catch all appropriate errors. You will also need a text file containing numbers to read in.
import java.io.*; import java.util.Vector; public class ListOfNumbers { private Vector<Integer> victor; private static final int SIZE = 10; public ListOfNumbers () { victor = new Vector<Integer>(SIZE); for (int i = 0; i < SIZE; i++) victor.addElement(new Integer(i)); } public void writeList() { PrintWriter out = null; try { System.out.println("Entering try statement"); out = new PrintWriter(new FileWriter("OutFile.txt")); for (int i = 0; i < SIZE; i++) out.println("Value at: " + i + " = " + victor.elementAt(i)); } catch (ArrayIndexOutOfBoundsException e) { System.err.println("Caught ArrayIndexOutOfBoundsException: " + e.getMessage()); } catch (IOException e) { System.err.println("Caught IOException: " + e.getMessage()); } finally { if (out != null) { System.out.println("Closing PrintWriter"); out.close(); } else { System.out.println("PrintWriter not open"); } } } }
20
2. Modify the following cat method so that it will compile. 1. public static void cat(File file) { 2. RandomAccessFile input = null; 3. String line = null; 4. 5. try { 6. input = new RandomAccessFile(file, "r"); 7. while ((line = input.readLine()) != null) { 8. System.out.println(line); 9. } 10. return; 11. } finally { 12. if (input != null) { 13. input.close(); 14. } 15. } 16. }
21
GUA DE OBSERVACIN PARA EXPOSICIN EXCEPCIONES EN EL PARADIGMA ORIENTADO A OBJETOS U4, ED1 17.
CUMPLE Caracterstica a cumplir (reactivo) Puntualidad para iniciar y concluir la exposicin. Esquema de diapositiva. Colores y tamao de letra apropiada. Sin saturar las diapositivas de texto. Portada: Nombre de la escuela (logotipo), Carrera, Asignatura, Profesor, Alumnos, Matricula, Grupo, Lugar y fecha de entrega. Ortografa (cero errores ortogrficos). Exposicin. a. Utiliza las diapositivas como apoyo, no lectura total b. Desarrollo del tema fundamentado y con una secuencia estructurada. c. Organizacin de los integrantes del equipo. d. Expresin no verbal (gestos, miradas y lenguaje corporal). Preparacin de la exposicin. Dominio del tema. Habla con seguridad. Identifica claramente tipos de datos, palabras clave y estructura de programas del paradigma orientado a objetos. Presentacin y arreglo personal
SI
NO
OBSERVACIONES
CALIFICACIN:
22
GLOSARIO Abstraction (abstraccin): Propiedad y/o tcnica de software que oculta los detalles de la implementacin. Java soporta abstraccin de clases y abstraccin de mtodos. La abstraccin de mtodos se define separando el uso de un mtodo sin conocer como est implementado ese mtodo. Si decide combinar la implementacin, el programa cliente ser afectado. De modo similar la abstraccin de clases oculta la implementacin de la clase del cliente. Acoplamiento (coupling) Medida del grado en el que un objeto o componente depende de otro. Bajo acoplamiento minimiza las dependencias y es una indicacin de un buen diseo Agregacin (aggregation) Relacin en la que un objeto se compone o est construido de uno o ms objetos, de modo que la coleccin completa representa un todo. Las relaciones de agregacin se especifican entre clases y se reflejan en instancias de objetos Algoritmo (algorithm) Mtodo que describe cmo se resuelve un problema en trmino de las acciones que se ejecutan y especifica el orden en que se ejecutan estas acciones. Los algoritmos ayudan al programador a planificar un programa antes de su escritura en un lenguaje de programacin. mbito de clase (scope class) Las variables privadas definidas fuera de los mtodos internos a la clase tienen mbito de clase. Son accesibles desde todos los mtodos del interior de la clase, con independencia del orden en que estn definidas. Los mtodos privados tambin tienen mbito de clase. Anlisis (anlysis) Proceso de identificacin, modelado y descripcin de lo que hace un sistema y de cmo trabaja. Anlisis orientado a objetos OOA (object oriented Analysis) Anlisis realizado en trminos de objetos, clase y relaciones de clases. Anulacin de mtodos (method overriding) La anulacin o sustitucin de mtodos significa que se puede modificar el mtodo de una subclase que est definida originalmente en una superclase. Anular o sustituir (override) Donde un mtodo de una subclase redefine y especializa un mtodo del mismo tipo heredado de una superclase. Aplicacin (application) Programa autnomo. Java tal como cualquier programa escrito utilizando un lenguaje de alto nivel. Las aplicaciones se pueden ejecutar desde cualquier computadora con un intrprete Java. Las aplicaciones no estn sometidas a las restricciones impuestas a los applets de Java. Una clase aplicacin debe contener un mtodo main. Se utiliza como sinnimo de programa.
23
Applet Tipo especial de programa Java que se puede ejecutar (correr) directamente en un navegador Web o en un visualizador applet. A un applet se le imponen diversas restricciones de seguridad. Por ejemplo, un applet no se puede ejecutar operaciones de entrada/salida en un sistema de usuario y por consiguiente no puede leer o escribir archivos o transmitir virus de computadora. Argumento (argument) Informacin pasada a un mtodo. Los argumentos se suelen llamar tambin parmetros. Un mtodo que espera recibir argumentos debe contener una declaracin de argumentos formales por cada argumento actual como parte de la cabecera del mismo. Cuando se invoca a un mtodo, los valores de los argumentos actuales 8reales) se copia en los correspondientes argumentos formales. Vase parmetro actual (actual parameter). Array (array, vector, lista) Objeto contenedor que almacena una secuencia indexada de los mismos tipos de datos. Normalmente los elementos individuales se referencian por el valor de un ndice. El ndice es un valor entero que suele comenzar, en 0 para el primer elemento, 1 para el segundo y as sucesivamente. Asignacin (assignment) Almacenamiento de un valor en una variable. La sentencia de asignacin es aquella que implementa la asignacin y utiliza un operador de asignacin Asociacin (association) Una relacin entre dos clases tales como una instancia de una clase referencia a una instancia de otra clase. Asociatividad (associativity) Orden en que se evalan operadores de igual precedencia o prioridad dentro de una expresin. La asociatividad por la izquierda produce una evaluacin de izquierda a derecha y la asociatividad por la derecha conduce a una evaluacin de derecha a izquierda. Asociatividad de operadores (operador associativity) Orden en que se evalan operadores de igual procedencia dentro de una expresin. La asociatividad a izquierda produce una evaluacin de izquierda a derecha, la sociatividad derecha es derecha a izquierda. AWT (ABSTRACT WINDOW TOOLKIT) Coleccin de clases (java.awt.*) que se utiliza para implementar interfaces grficas de usuario. Contiene componentes tales como botones, etiquetas, campos de texto, reas de texto, barras de desplazamiento, cajas de verificacin y mens. Las clases de AWT proporcionan una interfaz independiente de la plataforma para desarrollo de programas visuales e interfaces grficas de usuario. Biblioteca de clases (class library) Coleccin organizada de clases que proporciona un conjunto de componentes y abstracciones reutilizables Binario (binary) Representacin numrica en base 2. En esta base slo se utilizan los dgitos 0 y 1. Las posiciones de los dgitos representan potencias sucesivas de 2. Vase bit.
24
Binding (ligadura) Bit Dgito binario que puede tomar dos valores posibles: 0 y 1. Los bits son elementos bsicos de construccin de programas y datos Bloque (block) Sentencias y declaraciones encerradas entre una pareja de llaves (apertura y cierre, { y }. Por ejemplo, un cuerpo de una clase, es un bloque, al igual que el cuerpo de un mtodo, un bloque delimita un nivel de mbito. Boolean (bolean, lgico) Tipos primitivos de datos en Java. El tipo bolean puede tomar slo dos valores: true (verdadero) y false (falso). Bytecode (cdigos de byte) Resultado de la compilacin del cdigo fuente Java. La JVM (Java Virtual Machine) interpreta los bytecodes con la finalidad de ejecutar un programa Java. El bytecode es independiente de la mquina y se puede ejecutar en cualquier mquina que tenga un entorno de ejecucin. Los bytecodes se almacenan en archivos class. Cabecera de la clase (class header) Cabecera de la definicin de la clase. La cabecera proporciona un nombre a la clase y define sus accesos. Tambin describe si es una clase ampliada (extends) de una superclase o implementa interfaces (implements) Clase (clase) Coleccin encapsulada de datos y operaciones que actan sobre los datos. El concepto de clase es fundamental en programacin orientada a objetos. Una clase consta de mtodos y datos. Los mtodos de una clase definen el conjunto de operaciones permitidas sobre los datos de una clase (sus atributos). Una clase puede tener muchas instancias de la clase u objetos. Clase abstracta (abstract class) Superclase que contiene caractersticas comunes compartidas por las subclases. Se declaran utilizando la palabra reservada abstract. Las clases abstractas pueden contener datos y mtodos, pero no se pueden instanciar (crear objetos); es decir, no se pueden crear objetos de esta clase. Clase cliente (client class) Clase que hace uso de otra clase. Clase concreta (concrete class) Una clase diseada para crear (tener) instancias de objetos Clase hija (child class) Vase subclase. Clase interna (inner class) Una clase interna es una clase empotrada en otra clase. Las clases internas permiten definir pequeos objetos auxiliares y unidades de comportamiento que hacen a los programas ms simples y concisos. Clase interna (inner class) Trmino utilizado para describir una clase declarada dentro de otra declaracin de clases.
25
Clase miembro (member class) Trmino general utilizado para describir una clase declarada dentro de otra declaracin de clases. Clase padre (parent class) Igual concepto que superclase Clase Principal (main class) Una clase que contiene un mtodo principal (main). Mensaje (message) Peticin enviada a un objeto que solicita realizar una operacin con nombre. El mensaje incluye un nombre y una lista opcional de parmetros. Cdigo fuente (source code) Texto de un programa antes de ser compilado. El texto se crea y edita utilizando en editor ordinario y contiene caracteres normales, legibles. El cdigo fuente ser utiliza para las personas para describir programas sus componentes han de ser lo ms legibles y comprensibles posibles. Cohesivo (cohesive) Modo de describir una clase que tiene partes fuertemente integradas, cada una de las cuales contribuye a describir las mismas abstracciones. Comentario (comment) Trozo de texto que tienen como objetivo documentar el programa y mostrar cmo se ha construido. Los comentarios no son sentencias de programacin y son ignorados por el compilador. En Java los comentarios estn precedidos por dos barras (//) en una lnea o encerrados entre /+ y */ en mltiples lneas. Compilacin (compilation) Proceso de traduccin de un lenguaje de programacin. Normalmente este proceso implica la traduccin de un lenguaje de programacin de alto nivel a lenguaje de programacin de bajo nivel, o el formato binario de un conjunto de instrucciones especficas. La traduccin se realiza con un programa denominado compilador. Un compilador java traduce los programas en bytecodes. Compilacin (compiling) Nombre dado al proceso de traduccin del cdigo fuente a bytecodes. Compilador (compiler) Programa de software que realiza un proceso de compilacin (traduccin del lenguaje fuente a lenguaje mquina) de un programa escrito en un lenguaje de programacin de alto nivel. En el caso de Java, es un programa que traduce el cdigo fuente Java en bytecode. El compilador de J2SDK se denomina javac. Compilador en tiempo de ejecucin (inst-in.time compiler) Compilador capaz de compilar cada bytecode de una vez, y a continuacin se reinicia al cdigo compilado repetidamente cuando se ejecuta el bytecode. Constante (constant) Una variable declarada en final en Java. Una constante de la clase normalmente est compartida por todos los objetos de la misma clase; por consiguiente, una constante de clase se declara normalmente como static. Una constante local es una constante declarada dentro de un mtodo.
26
Constante de la clase (class constant) Variable definida como final y static. Constructor (constructor) Mtodo especial utilizado para inicializar el estado de un nuevo objeto. El constructor permite crear objetos utilizando el operador new. El constructor tiene exactamente el mismo nombre que la clase que lo contiene. Los constructores se pueden sobrecargar con el objetivo de facilitar la construccin de objetos con diferentes tipos de valores iniciales. Constructor por defecto (default constructor) Constructor que no tiene parmetros y sirve para inicalizar un objeto Contenedor (container) Clase que implementa una estructura de datos que contiene una coleccin de objetos. Se utiliza tambin para representar un componente IGU, Interfaz Grfica de Usuario (GUI; Graphical User Interface) que contiene una coleccin de otros componentes IGU Cuerpo de la clase (class body) Cuerpo de una definicin de una clase que agrupa las definiciones de los miembros de la clase: campos, mtodos y clases anidadas. Declaracin (declaration) Define las variables, mtodos y clases en un programa. Definicin (defnition) Trmino sinnimo de declaracin, aunque en el proceso de escritura de un programa se suele diferenciar Depuracin (debugging) Proceso de encontrar, fijar y eliminar errores en un programa. Para estas tareas se suele utilizar una herramienta de programacin conocida como depurador. Depurador (debugger) Herramienta para ayudar a la localizacin de errores de un programa: jdbc se proporciona como parte del J2SDK. Un depurador puede establecer puntos de interrupcin (breakpoint), parada simple a travs de un programa e inspecciona el estado de las variables. Diagrama de clases (class diagram) Una representacin grfica construida utilizando una notacin formal para visualizar y documentar las relaciones entre clases de un sistema. Diseo (diseo) Actividad de definir como se debe estructurar e implementar un programa. Diseo orientado a objetos OOD (object.oriented design) Diseo realizado en trminos de objetos, clases y selecciones de clases. Encapsulamiento, encapsulacin (encapsulation) Localizacin y proteccin de las caractersticas internas y estructura de un objeto. Combinacin de mtodos y datos en una nica estructura de datos. En Java se conoce como clase
27
En red (networking) Propiedad de los ordenadores y programas de ordenador que las permiten comunicarse unos con otros a travs de una red. Ejecutar, ejecucin (run) Hacer funcionar un programa instruccin a instruccin. Entero (integer) Un nmero completo (no es un nmero real con coma decimal) tal como 5, 1, 10 y 2002. Los enteros se pueden representar en Java de dos formas: utilizando el tipo primitivo int o utilizando una instancia de una clase integer. Escenario (scenario) Descripcin o conjunto de secuencias de sucesos que se utilizan para describir parte del comportamiento de un programa. Etiqueta (tag) Una instruccin HTML que indica a un navegador Web como visualizar un documento. Las etiquetas se encierran entre corchetes tales como <html>, <i>, <b>, y </html>. Excepcin (exception) Un suceso (evento) no previsto que indica que un programa ha fallado en alguna forma. Las excepciones se representan por objetos excepcin en java. Las excepciones se manejan con un bloque de sentencias try/catch. Expresin (expresin) Una subparte de una sentencia que representa un valor. Por ejemplo, la expresin aritmtica 2+5 representa el valor 7. En Java, cualquier construccin sintctica legal que represente un valor es una expresin. Expresin booleana lgica (Bolean expresin) Una expresin cuyo resultado es del tipo lgico (boolean, bol), Operadores tales como && y || toman operandos lgicos y producen un resultado lgico. Los operadores relacionales toman operandos de tipos diferentes y producen un resultado lgico. Final (final) Modificador de clases, datos, mtodos y variables locales. Una clase final no se puede extender, un dato final o variable local es una constante y un mtodo final no se puede anular (sustituir) en una subclase. Flujo (Stream) Trmino que describe el flujo de datos continuo de una direccin entre un emisor y un receptor. Formal parameter (parmetro formal) Parmetros definidos en la signatura o declaracin del mtodo. Fuente del suceso (event source) El objeto que genera el suceso. Funcin (function) Construccin matemtica a la que se pueden aplicar valores y que devuelve un resultado.
28
Herencia (inheritance) Una relacin entre clases en que una subclase se extiende desde una superclase. Hilo (thread) Un flujo de ejecucin de una tarea que tiene un principio y un fin, en un programa. HTML (Hypertext Markup Language) Lenguaje de script o de marcas para disear pginas Web para creacin y comparticin de documentos electrnicos integrados preparados para multimedia e Internet. J2SK El Java 2 Software Kit distribuido por Inn proporciona el conjunto de herramientas para escribir programas Java, contiene las bibliotecas de clase Java, el compilador Java (javac)y una coleccin de otras utilidades. Las versiones se numeran en secuencia con 1.2, 1.3, 1.4(la ms reciente dentro de la implementacin de la plataforma Java 2). IDE (integrated development) Software para ayudar a lso programadores a escribir cdigo eficientemente. Identificador (identifier) Nombre de una variable, mtodo, clase, interfaz o paquete. IGU, Interfaz Grfica de Usuario (GUI, Graphical User Interface) Una interfaz es un programa que se implementa utilizando componentes AWT tales como cuadros, botones, etiquetas, campos de texto, etc. Implementacin (implementation) La actividad de escribir, compilar, probar y depurar el cdigo de un programa. Inferencia de software (software engineering) Conjunto de etapas en la realizacin de un programa. Estas etapas suelen ser de anlisis, diseo, implementacin, pruebas, entregas y mantenimiento. Instancia (instance) Objeto de una clase Instanciacin (instantiation) Proceso de creacin de un objeto de una clase. Instanciacin (instantion) Proceso de crear un objeto de una clase. Interfaz (interface) Una interfaz se trata como una clase especial de Java. Cada interface se compila en un archivo independiente de bytecode, tal como una clase ordinaria. No se puede crear una instancia de la interfaz. La estructura de una interfaz Java es similar al de una clase abstracta en la que se puede tener datos y mtodos. Los datos, sin embargo, deben ser constantes y los mtodos pueden tener slo declaraciones sin implementacin. En Java existe slo herencia simple y una clase puede heredar de una superclase. Esta restriccin se puede superar por el uso de una interfaz.
29
Interprete (Interpreter) Software que interpreta y ejecuta bytecode de Java. La mquina virtual Java (JVM) es un intrprete de bytecodes de Java que proporciona una emulacin de software de un procesador de mquina. JDK (Java development kit) vease J25KJ. Define el APJ de Java y contiene un conjunto de utilidades de lneas de rdenes tales como javac (compilador) y Java (interprete). Jerarqua de clases (class hierarchy) Coleccin de clases organizadas en trminos de relaciones de superclases y subclases. JVM, Mquina Virtual Java (Java Virtual Machine) Una emulacin de software de una mquina que puede ejecutar bytecodes de Java. Proporciona una implementacin del procesador, sistema de memoria e interfaces a dispositivos hardware. Todos los programas Java se compilan a bytecodes que se ejecutan por una JVM. Lenguaje de consulta (SQL standard query language) Lenguaje de computadora para realizar consultas y actualizaciones en una base de datos. Lenguaje de programacin (programming language) Notacin utilizada por los programadores para escribir programas. un lenguaje tiene una sintaxis (las palabras y smbolos utilizadas para escribir cdigos de programa), una gramtica (las reglas que definen una secuencia de palabras y smbolos significativos y correctos) y semntica. Java es un lenguaje de programacin. Ligadura dinmica (dynamic binding) Ligadura o enlace del nombre de un mtodo al cuerpo de dicho mtodo que se ejecuta mientras que un programa se est ejecutando, al contrario del enlace que se produce cuando se compila el programa. Ligadura esttica (static briding) Enlace o conexin de un nombre de un mtodo a un cuerpo del mtodo ejecutados por el compilador mediante el anlisis lxico del texto de un programa, Lista de parmetros (parameter list) Lista de valores dados a un mtodo para inicializar sus parmetros o la lista de parmetros de las declaraciones de variables. Llamada por referencia (call-by-reference) Trmino utilizado cuando y una referencia de un objeto se pasa como un parmetro de un mtodo. La referencia se copia (llamada por valor) pero no el objeto referenciado Llamada por valor (call- Paso de un argumento a un mtodo en el que una copia del by.value) valor del argumento real se toma y se sita en una posicin de memoria independiente, representada por el correspondiente argumento formal. Todos los parmetros se pasan en Java por valor, pero hay otros lenguajes de programacin que proporcionan tambin el mtodo de paso por referencia.
30
Manejador de sucesos (event handler) Un mtodo en el que el objeto oyente se ha diseado para hacer algn proceso especificado cuando ocurre un suceso determinado. Marco de trabajo (framework) Mensaje (message) Una peticin enviada a un objeto que solicita ejecutar una operacin determinada. El mensaje incluye un nombre y una lista opcional de parmetros. Mtodo (method) Una coleccin de sentencias que se agrupan juntos para ejecutar una operacin. Method object Mtodo abstracto (abstract method) Mtodo que slo tiene signatura y no tiene cuerpo, y debe estar contenido dentro de una clase abstracta. Su implementacin se realiza en la subclase. Se representa mediante el modificador abstract. Los mtodos abstractos deben implementarse en una subclase no abstracta incluso aunque no se utilicen. Mtodo de la clase (class method) Sinnimo de mtodo esttico. Un mtodo que se puede invocar sin crear una instancia de la clase. Para definir mtodos de clases, se ha de poner un modificador static en la declaracin del mtodo. Mtodo de la instancia (Instance method) Un mtodo (o procedimiento) declarado por un clase que se llama por sus objetos de instancias (o los de las subclases). Mtodo esttico (static method) Vase mtodo de una clase. Mtodo declarado en una clave que se llama directamente sin necesidad de que el objeto sea llamado. Modificador (Modifer) Una palabra reservada en Java que especifica las propiedades de los datos, mtodos y clases, y como se pueden utilizar. Ejemplos de modificaciones son public, private y static. Moldeado (casting, conversin) Proceso de convertir un valor de un tipo de dato primitivo en otro tipo primitivo o conversin de un objeto de un tipo de dato en otro tipo de objeto. Por ejemplo, (int) 4.5 convierte 4.5 en un valore entero y (cuadrado) c convierte un objeto c en uno de tipo cuadrado Moldear (cast, convertir) Cambiar explcitamente el tipo de una expresin utilizando una expresin de conversin (cast). Multihilo (mulithreading) Propiedad de un programa para ejecutar diversas tareas simultneamente dentro de un programa. Nented class (Nented class) Una clase esttica declarad dentro de otra clase. Denominada tambin una clase anidad de nivel superior.
31
Objeto (object) Vase instancia. Una instancia de una clase especfica. En general, se puede construir cualquier nmero de objetos a partir de una clase. Objeto instancia (instante object) Un objeto instancia es un representacin de un valor del tipo implementado por su clase. La clase declara un objeto de variables, instancia que forman la estructura de un objeto y un conjunto de mtodos que se pueden llamar en un objeto. Ocultacin de la informacin (information hiding) Un concepto de ingeniera de software que se refiere a la ocultacin y proteccin de las caractersticas internas y la estructura de un objeto. Operador (operator) Operaciones para valores de tipos primitivos de datos. Ejemplos de operadores son +,-,*,/ y % Oyente de sucesos (event listener) El objeto que recibe y maneja el suceso. Palabra clave, reservada (keyword) En Java, una palabra clave (o palabra reservada) es una palabra definida como parte del lenguaje de programacin, Un nombre de palabra reservada no se puede utilizar para ningn otro propsito. Palabra reservada, Palabra definida como parte del lenguaje Java Palabra reservada (reserved word) Vase palabra clave. Paquete (package) Coleccin de clases agrupadas juntas. Parmetro (parameter) Los parmetros formales se especifican en una declaracin de un mtodo en una llamada a un mtodo, Parmetro actual o real (actual parameter) Valor que se pasa a un mtodo cuando se invoca ese mtodo. Los parmetros reales (actuales) deben concordar en tipo, orden y nmero con los parmetros formales. Cuando se invoca a un mtodo, los valores de los argumentos actuales se copian en los correspondientes argumentos formales. Parmetro formal (formal parameter) Declaracin de una variable parmetro en una lista de parmetros de un mtodo. Paso por referencia (pass-by-reference) Un trmino utilizado cuando una referencia de un objeto se pasa como un parmetro de un mtodo. Cualquier cambio al objeto local que ocurre dentro del cuerpo del mtodo afectar el objeto original que se pasar como argumento. Paso por valor (pass-by value) Un trmino utilizado cuando una copia de una variable de un tipo primitivo de dato se pasa a un parmetro de un mtodo. La variable real externa al
32
mtodo no est afectada, con independencia de los cambios hechos al parmetro formal dentro del mtodo. Patrn (pattern) Disposicin avanzada de clases y objetos Plataforma de Java 2. (Java 2 Plataform) Nombre de la versin ms reciente de Java. Precedencia, prioridad (precedence) Prioridad de un operador en una expresin utilizada para determinar el orden en que se evalan los operadores. Precedencia de operadores (operador precedence) Prioridad de un operador dentro de una expresin utilizando para determinar en qu orden de evaluarn los operadores. Privado (private) Un modificador de miembros de una clase, un miembro privado slo puede ser referenciado en el interior de la clase. Programa (program) Un conjunto de instrucciones (o sentencias) que describen alguna aplicacin o actividad ejecutada en una computadora. Programacin controlada por sucesos (event-drive programming) La programacin de grficos en Java est controlada por sucesos. En programacin controlada por sucesos (o eventos) los cdigos se ejecutan por activacin de sucesos, tales como pulsar un botn o mover el ratn Programacin imperativa (imperative programming) Programacin basada en los principios de instruccin o secuencias de rdenes, seleccin, repeticin, variables y asignacin. Tambin se conoce a esta programacin como procedimental o por procedimientos. Java es un lenguaje imperativo. Programacin orientada a objetos OOP (objectoriented programming) Un enfoque de programacin que implica organizacin de objetos y sus comportamiento en clases de componentes realizables. Programador (programmer) Personas que disea, escribe, prueba y depura programas. Protegido (protected) Un modificador para los miembros de una clase. Un miembro protegido de una clase que puede ser utilizado en la clase que est declarada o cualquier subclase derivada de esa clase. Prueba/ probar (test) En trminos de programacin, la actividad de verificacin sistemtica de que un programa funciona correctamente. Prueba (testing) Vase prueba Pblico (public) Un modificador de clases, datos y mtodos a los que se puede acceder por todos los programas.
33
Recoleccin de basura (garbage collection) Red (network) Infraestructura que permite a los ordenadores comunicarseunos con otros. Sentencia (statement) Una unidad de cdigo que representa una accin o una secuencia de acciones. Las sentencias se ejecutan en el orden en que estn escritas y siempre terminan en un punto y coma. Sentencia compuesta (compound statement) Sentencia contenedora que consta de una secuencia de otras sentencias y declaraciones. En Java se utilizan llaves ({ y }) para delimitar una sentencia compuesta. Semntica (semantics) Conjunto de reglas que definen el significado de un programa sintcticamente vlido. Java toma un enfoque operacional en semntica de modo que el comportamiento y por consiguiente el significado de un programa se define por la mquina sobre la que est ejecutando el programa. Sobrecarga (overload) Proporciona dos o ms mtodos con el mismo nombre en el mismo mbito, diferenciado por tener listas de parmetros diferentes. Sobrecarga de un mtodo (method overloading) La sobrecarga de n mtodo significa que se puede definir los mtodos con el mismo nombre de una clase siempre que haya diferencia en sus parmetros. Socket (socket) Trmino que describe la facilitacin de comunicacin entre un servidor y un cliente. Subclase (subclass) Una clase que hereda o se extiende de una superclase. Subtipo (subtype) Un tipo que hereda o se extiende de un supertipo. Suceso (event) Un tipo de seal que indica ha ocurrido alguna accin. Normalmente se asocia con sucesos de entrada de interfaces grficas de usuario (p.e. el clic de un ratn, pulsacin de una tecla, etc.) El programa puede responder o ignorar el suceso. Vase evento. Superclase (superclass) Una clase que puede ser heredada de otra clase. Supertipo (supertype) Un tipo que es heredado por un subtipo. Sintaxis (Syntax) Un conjunto de reglas que especifica la composicin de programas a partir de palabras reservadas, smbolos y caracteres. La sintaxis define la estructura de los programas legales en trminos de cmo las palabras reservadas y otros caracteres se pueden escribir y en qu orden.
34
Tipo abstracto de datos, TAD (ADT, Abstract Data Type) Especificacin formal de un tipo de dato que consta de un nombre, un conjunto de operaciones y una descripcin algebraica del comportamiento de las operaciones. Tipo de datos (data type) Los tipos de datos se utilizan para definir variables. Java soporta los tipos de datos primitivos y tipos de datos objeto. Tipo de dato primitivo (primitive data type) Los tipos de datos primitivos son byte, short, int, long, float,double,bolean y char Tipo primitivo (primitive type) Un tipo definido como parte del lenguaje Java en vez del declarado por una clase o intefaz. Se denomina tambin tipos incorporados. UML (UML) Lenguaje unificado de modelado que proporciona notacin estndar visual para documentar el anlisis y diseo de sistemas orientados a objetos. Unicode (unicode) Un sistema de codificacin de caracteres internacionales gestionados por el consorcio Unicode, Java soporta Unicode. Variable de clase (class variable) Sinnimo de variable esttica. Variable de instancia (instance variable) Una variable declarada en una clase. Un miembro dato no esttico de una clase. Una copia de un mtodo de una instancia existe en cada instancia de la clase que se crea. Variable local (local variable) Variable definida en el interior de una definicin de un mtodo. Variable esttica (static variable) Vase variable de clase. Variable parmetro (parameter variable) Variable declarad en una lista de parmetros formados de un mtodo y que se inicializa cuando se llama al mtodo. Los bloques catch tambin utilizan variables parmetro.
35
BIBLIOGRAFA Bsica TTULO: AUTOR: AO: EDITORIAL O REFERENCIA: LUGAR Y AO DE LA EDICIN ISBN O REGISTRO: TTULO: AUTOR: AO: EDITORIAL O REFERENCIA: LUGAR Y AO DE LA EDICIN ISBN O REGISTRO: TTULO: AUTOR: AO: EDITORIAL O REFERENCIA: LUGAR Y AO DE LA EDICIN ISBN O REGISTRO: Complementaria TTULO: AUTOR: AO: EDITORIAL O REFERENCIA: LUGAR Y AO DE LA EDICIN ISBN O REGISTRO: TTULO: AUTOR: AO: EDITORIAL O REFERENCIA: LUGAR Y AO DE LA EDICIN ISBN O REGISTRO: Java: A Beginner's Guide, 4th Ed SCHILDT Herbert McGraw-Hill Osborne Media; 4 edition (December 1, 2006) 72263849 Programacion Orientada a Objetos con C ++ BALAGURUSAMY, E. 2007 MC GRAW HILL 2007 9788448156213 Java How to Program, 7th Edition DEITEL Harvey M. y DEITEL Paul J. 2007 Prentice Hall January 6, 2007 132222205 Object-Oriented Programming and Java POO Danny, KIONG Derek, ASHOK Swarnalatha 2010 Springer June 2, 2010 1846289629 Java How to Program: Early Objects Version (8th Edition) DEITEL Harvey M. y DEITEL Paul J. 2009 Prentice Hall March 27, 2009 136053068
36
Sitio Web Pgina Oficial de la Tecnologa Java (2011), Java.Net The source for Java Technology Collaboration. Disponible en http://www.java.net. Consultado el 4 de julio de 2011. Deitel y Deitel (2011), Java TM How to Program, 7/e CyberClassroom. Pgina Oficial del Libro Como programar en Java. Disponible en: http://myphlip.pearsoncmg.com/phproducts/index.cfm?vbookid=720. Consultado el 4 de julio del 2011. Berzal Galiano, Fernando (2011). Apuntes de programacin orientada a objetos en Java: Fundamentos de programacin y principios de diseo. ISBN 84-611-1405-1 / 978-84-611-1405-4. Disponible en: http://elvex.ugr.es/decsai/java/index.html. Consultado el 4 de julio del 2011. Apndice W4 Glosario de trminos de Programacin (2005). McGraw-Hill Interamericana de Espaa, SL. Disponible en: http://www.mhe.es/universidad/informatica/8448136640/archivos/apendice_gene ral_4.pdf Consultado el 4 de Julio del 2011.
37