INGENIERÍA EN SISTEMAS COMPUTACIONALES TACIONALES

Anuncio
POOPOO-ES
REV00
INGENIERÍA EN SISTEMAS
COMPUTACIONALES
COMPUTACIONALES
PROGRAMACION
ORIENTADA A OBJETOS
DIRECTORIO
Mtro. Alonso Lujambio Irazábal
Secretario de Educación Pública
Dr. Rodolfo Tuirán Gutiérrez
Subsecretario de Educación Superior
Mtra. Sayonara Vargas Rodríguez
Coordinadora de Universidades Politécnicas
II
PÁGINA LEGAL
Participantes
Mtra. Donají L. Sedano Flores - Universidad Politécnica de Zacatecas
Primera Edición: 2011
DR  2011 Coordinación de Universidades Politécnicas.
Número de registro:
México, D.F.
ISBN-----------------
III
ÍNDICE
Introducción..................................................................................... 1
Ficha técnica................................................................................... 2
Método de Evaluación.................................................................... 4
Desarrollo prácticas........................................................................ 5
Instrumentos de evaluación………………………………………………….. 9
Glosario……………………………………………………………………………….. 22
Bibliografía...................................................................................... 32
IV
INTRODUCCIÓN
La orientación a objetos es un paradigma de programación que facilita la creación de software de
calidad por sus factores que potencian el mantenimiento, la extensión y la reutilización del
software generado bajo este paradigma.
La programación orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de
la máquina. 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 jerarquía o el
encapsulamiento.
El elemento básico de este paradigma no es la función (elemento básico de la programación
estructurada), sino un ente denominado objeto. Un objeto es la representación de un concepto
para un programa, y contiene toda la información 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 orientación a objetos como uno de los
pilares básicos de su lenguaje.
1
PROGRAMA DE ESTUDIOS
1
FICHA TÉCNICA
PROGRAMACION ORIENTADA A OBJETOS
Nombre:
PROGRAMACION ORIENTADA A OBJETOS
Clave:
POO-ES
Justificación:
Para comprender los conceptos del paradigma de programación orientada a
objetos que le permitan desarrollar soluciones en un lenguaje de
programación orientado a objetos para obtener los productos esperados por
el cliente
Objetivo:
Habilidades:
El Alumno será capaz de programar utilizando el paradigma orientado a
objetos primero en línea de comandos y después a través de interfaces de
usuario gráficas.
Lectura, escritura, interlocución, síntesis de la información, aplicación de
principios tecnológicos, relaciones en y con el entorno organizacional,
relaciones interpersonales, toma de decisiones, lectura en segunda lengua,
interlocución en segunda lengua.
Análisis y síntesis, resolver problemas, aplicar los conocimientos en la
Competencias
y/o
práctica, adaptarse a nuevas situaciones, cuidar la calidad, gestionar la
capacidades previas
información, trabajar en forma autónoma y en equipo.
Capacidades a desarrollar en la asignatura
Competencias a las que contribuye la
asignatura
•
Representar módulos mediante estructuras
de control utilizando la filosofía de
programación orientada a objetos para
obtener el producto esperado por el cliente
Estimación de
tiempo (horas)
necesario para
transmitir el
aprendizaje al
alumno, por Unidad
de Aprendizaje:
Unidades de aprendizaje
•
Codificar algoritmos de solución en un
lenguaje de programación orientado a
objetos para satisfacer las necesidades del
cliente a través de procedimientos de
desarrollo.
HORAS TEORÍA
No
presencial presencial
HORAS PRÁCTICA
No
presencial presencial
1. Principios de la Programación
Orientada a Objetos
9
0
9
6
2. Estructuras de control y Tipos
definidos por el usuario
12
0
12
8
3. Desarrollo avanzado de clases
12
0
12
8
2
4. Manejo de excepciones básicas
12
Total de horas por
cuatrimestre:
120
Total de horas por
semana:
8
Créditos:
5
0
12
8
3
MÉTODO DE EVALUACIÓN
Unidades de aprendizaje
Resultados de aprendizaje
Al completar la unidad de
aprendizaje el alumno será
capaz de:
1. Principios de la
Programación Orientada a
Objetos
- Estructurar instrucciones
computacionales para el
diseño de aplicaciones
Orientadas a Objetos.
-Manejar conceptos de la
programación orientada a
objetos.
Al completar la unidad de
aprendizaje el alumno será
capaz de:
2. Estructuras de control y
Tipos definidos por el usuario
- Realizar tipos de datos
abstractos mediante el uso
de las estructuras básicas de
control de Programación
Orientada a Objetos.
Al completar la unidad de
aprendizaje el alumno será
capaz de :
3. Desarrollo avanzado de
clases
- Construir Clases,aplicando
conceptos avanzados del
Paradigma Orientado a
Objetos. Encapsulación,
Sobrecarga, herencia,
polimorfismo, dinámico y
estático.
Al completar la unidad de
aprendizaje el alumno será
capaz de:
4. Manejo de excepciones
básicas
Manejar excepciones en el
paradigma orientado a
objetos para un correcto uso
del lenguaje de
programación.
Evidencia de Aprendizaje
Técnica
EC1. Resuelve cuestionario
de conceptos de
programación orientada a
objetos.
Documental
ED1 Maneja programas
computacionales
visualizados en pantalla en
donde identifica paradigmas
orientados a objetos (tipos
de datos,palabras clave).
Campo
EP1 Diseña programas
utilizando diferentes
paradigmas orientados a
objetos.
ED1 Realiza práctica sobre
estructura de secuencia,
decisión e iteración en tipos
de datos abstractos.
EP1 Elabora problemario de
aplicaciones con arreglos.
EP2 Diseña programa del
paradigma de programación
orientada objetos aplicando
técnica de métodos,
sobrecarga y sobreescritura..
ED1 Realiza práctica sobre
el manejo de constructores
y métodos para establecer,
obtener y hacer uso de la
palabra reservada this
dentro de una clase
utilizando el paradigma
orientado a objetos.
EP1 Elabora programas
computacionales utilizando
herencia y polimorfismo
dentro de una clase,
basándose en el uso de
UML.
EC1 Resuelve cuestionario
sobre el manejo de
excepciones.
ED1 Expone excepciones del
paradigma orientado a
objetos a través de la
generación de estructuras
computacionales para su
correcta funcionalidad del
lenguaje de programación.
Instrumento de Evaluación
Cuestionario
Documental
Campo
Documental
Documental
Campo
Documental
Documental
Campo
"Conceptos de programación
orientada a objetos".
Guía de observación
"Identificación de paradigmas
orientados a objetos".
Lista de cotejo
"Diseño de programas
utilizando diferentes
paradigmas orientados a
objetos".
Guía de Observación para
práctica "Estructura de
secuencia, selección e
iteración".
Lista de Cotejo para
problemario de ejercicios en
aplicaciones con Arreglos.
Rúbrica para el programa
orientado a objetos aplicando
" Métodos, sobrecarga y
sobre escritura".
Guía de Observación para la
práctica
"Manejo constructures y
palabra reservada "This".
Lista de Cotejo para
elaboración de " Programas
computacionales herencia y
polimorfismo".
Cuestionario "Conceptos
sobre el manejo de
excepciones".
Guía de observación para
exposición de excepciones
paradigma orientado a
objetos.
4
DESARROLLO DE LA PRÁCTICA O PROYECTO
Nombre de la asignatura:
Nombre de la Unidad de
Aprendizaje:
Nombre de la práctica o
proyecto:
Programación Orientada a Objetos
Estructuras de Control y Tipos definidos por el usuario
Estructura de secuencia, decisión e iteración en tipos de datos abstractos.
2 hrs
Duración (horas) :
• Definir una solución a un problemática haciendo uso de las
estructuras de secuencia, decisión e iteración en tipos de datos
Resultado de
abstractos en el paradigma de programación orientada a objetos
aprendizaje:
• Desarrollar la solución propuesta en un lenguaje de programación
orientada a objetos
Pizarrón, Diapositivas, Diagramas y esquemas, Equipo de cómputo, Cañón..
Requerimientos (Material
Laboratorio de cómputo.
o equipo):
Editor y compilador de un lenguaje de programación orientado a objetos.
Actividades a desarrollar en la práctica:
Número:
01
1. Algunas prácticas propuestas son:
Realiza los siguientes ejercicios usando estructuras de secuencia, decisión e iteración:
1.1 Escriba una aplicación que solicite un número de elementos a ser introducidos por el usuario. Al terminar de
introducir los números la aplicación deberá localizar el menor y mayor número del conjunto de elementos
introducidos.
1.2 Una aplicación interesante de las computadoras es dibujar gráficos convencionales y de barra. Escriba una
aplicación que lea cinco números, los cuáles deben estar en un rango entre 1 y 30. Por cada número leído, su
programa debe mostrar ese número de asteriscos adyacentes. Por ejemplo, si su programa lee un número como el 7
*******
1.3 Un almacén 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 aplicación que lea
una serie de pares de números, como se muestra a continuación:
a) número del producto.
b) cantidad vendida
Su programa debe de utilizar una instrucción 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 cuándo debe el programa dejar de iterar para mostrar los resultados finales.
5
1.4 Escriba una aplicación 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á cuántas monedas deben darse como cambio de tal forma que el número total
de monedas sea mínimo.
1.6 Un banco recibe todos los días del Banco Mundial una lista de cómo está el cambio de las divisas del mundo respecto
del dólar americano (USD). Diseñar un algoritmo que, a partir de una cantidad de dólares que deseamos comprar, nos
devuelva la cantidad en euros (y en pesetas) que nos costarían esos dólares. Suponga que el banco obtiene en el cambio un
tanto por ciento variable de beneficios.
1.7 ¿Cuántas veces se ejecutaría 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 número 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 dígitos hexadecimales del
número según la siguiente correspondencia:
Resto 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Dígito 0 1 2 3 4 5 6 7 8 9 A B C D E F
1.9 Diseñe un programa para jugar a adivinar un número entre 0 y 100. El programa irá dando pistas al jugador
indicándole si el número introducido por el jugador es menor o mayor que el número que tiene que adivinar. El juego
termina cuando el jugador adivina el número o decide terminar de jugar (por ejemplo, escribiendo un número negativo).
1.10 Uso y manipulación de fechas:
a. Diseñe una clase para representar fechas.
b. Escriba un método estático que nos diga el número de días de un mes (¡ojo con los años bisiestos!).
c. Añada a su clase un método que nos indique el número de días del mes al que pertenece la fecha.
d. Incluya, en su clase Fecha, un método que nos diga el número de días que hay desde una fecha determinada
hasta otra.
e. Implemente un método que nos diga el día de la semana correspondiente a una fecha concreta (p.ej. el 1 de
diciembre de 2004 fue miércoles).
f. Escriba un programa que muestre el calendario de un mes concreto.
Evidencias a las que contribuye el desarrollo de la práctica
ED1. Realiza practica sobre estructura de secuencia, decisión e iteración en tipos de datos abstractos
6
DESARROLLO DE LA PRÁCTICA O PROYECTO
Nombre de la asignatura:
Nombre de la Unidad de
Aprendizaje:
Nombre de la práctica o
proyecto:
Programación Orientada a Objetos
Desarrollo avanzado de clases
Manejo de constructores y palabra reservada *this
2 hrs
Duración (horas) :
• Definir una solución a un problemática haciendo uso correcto de
constructores y la palabra reservada *this en el paradigma de
Resultado de
programación orientada a objetos
aprendizaje:
• Desarrollar la solución propuesta en un lenguaje de programación
orientada a objetos
Pizarrón, Diapositivas, Diagramas y esquemas, Equipo de cómputo, Cañón..
Requerimientos (Material
Laboratorio de cómputo.
o equipo):
Editor y compilador de un lenguaje de programación orientado a objetos.
Actividades a desarrollar en la práctica:
Número:
02
1. Algunas prácticas propuestas son:
Realiza los siguientes ejercicios usando adecuadamente el concepto de constructor y la palabra
reservada *this
1.1 Diseñe jerarquías de clases para representar los siguientes conjuntos de objetos:
a. Una colección de CDs, entre los cuales hay discos de música (CDs de audio), discos de música en MP3 (CDROMs con música), 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 electrónica, que tienen un conjunto de
características comunes (precio, código de barras…) y una serie de características específicas de cada producto.
c. Los objetos de una colección de monedas/billetes/sellos. Implemente en Java las jerarquías de clases que haya
diseñado (incluyendo sus variables de instancia, sus constructores y sus métodos get/set).
A continuación, escriba sendos programas que realicen las siguientes tareas:
a. Buscar y mostrar todos los datos de un CD concreto (se recomienda definir el método 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 descripción incluya una cadena de caracteres que el
programa reciba como parámetro.
7
1.2 Implemente un programa que cree un objeto de la clase Random del paquete java.util, genere un número 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 continuación, ya fuera del paquete, cree un pequeño programa que cree objetos de ambos tipos y los muestre por
pantalla.
c. Añada 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 inclúyalo en el subpaquete documentos.RRHH. En este
último paquete, incluya también un tipo de documento CV para representar el currículum vitae de una persona.
e. Si no lo ha hecho ya, cree una clase genérica Documento de la que hereden (directa o indirectamente) todas las demás
clases que hemos definido para representar distintos tipos de documentos.
f. Implemente un pequeño 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 públicos (public), cuáles han de mantenerse
privados (private) y, si lo considera oportuno, cuáles serían miembros protegidos (protected).
Tenga en cuenta que no siempre se debe permitir la modificación desde el exterior de una variable de instancia (esto es,
habrá variables de instancia a las que asociemos un método get pero no un método set y, de hacerlo, éste puede que sea
privado o protegido).
Analice también qué métodos 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 relación de ejercicios puede resultar necesaria la creación 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 práctica
ED1 Realiza práctica sobre el manejo de constructores y métodos para establecer, obtener y hacer uso
de la palabra reservada this dentro de una clase utilizando el paradigma orientado a objetos.
8
9
INSTRUMENTOS DE EVALUACIÓN
Cuestionario
“Conceptos de Programación Orientada a Objetos”
UNIDAD 1 EC 1
Universidad Politécnica de __________________________________________________
__________________________________________________
Nombre de la Asignatura: Programación
Programación Orientada a Objetos
INSTRUCCIONES: Conteste las siguientes preguntas basándose para ello en la bibliografía
básica y complementaria sugerida
1. Establecer con sus propias palabras la definición de POO
2. Establecer el concepto de: Estado, comportamiento e identidad
3. Realizar una breve reseña acerca del origen de POO
4. Definir con sus palabras que es una clase y dar un ejemplo
5. Definir con sus palabras que es una herencia y dar un ejemplo
6. Definir con sus palabras que es un objeto y dar un ejemplo
7. Definir con sus palabras que es un método y dar un ejemplo
8. Definir con sus palabras que es un evento y dar un ejemplo
9. Definir con sus palabras que es un mensaje y dar un ejemplo
10. Definir con sus palabras que 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. Cuáles son los componentes de un objeto
13. Definir en consiste la identificación de un objeto y dar un ejemplo
14. Describir cada una de las características de la POO
15. Dar ejemplos de lenguajes de programación orientada a objetos
10
INSTRUMENTOS DE EVALUACIÓN
Guía de observación para Identificación de paradigmas orientados a
objetos
UNIDAD 1 ED 1
UNIVERSIDAD POLITÉCNICA DE ____________________
NOMBRE DE LA ASIGNATURA : Programación Orientada a Objetos
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se
cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer
comentarios referentes a lo observado.
Valor del
reactivo
10%
10%
5%
10%
10%
15%
5%
5%
20%
10%
100%
CUMPLE
Característica a cumplir (reactivo)
Puntualidad para iniciar y concluir su trabajo de identificación
de programas.
SI
NO
OBSERVACIONES
Manejo de estándar de desarrollo. Programa desarrollado con
el estándar establecido.
Documentación del programa Nombre de la escuela, Carrera,
Asignatura, Profesor, Alumnos, Matricula, Grupo, Lugar y fecha
de entrega. Descripción del programa.
Sintaxis (cero errores sintácticos y de lógica).
Identificación del programa (explicación)
a. Describe el uso de palabras reservadas en su solución
b. Desarrollo del programa con el uso adecuado del
lenguaje y del paradigma orientado a objetos
c. Explicación del programa (clara y precisa)
d. Expresión no verbal (gestos, miradas y lenguaje
corporal).
Preparación del programa.
programa. Dominio de la solución propuesta.
Habla con seguridad. Identifica claramente tipos de datos,
palabras clave y estructura de programas del paradigma
orientado a objetos
Presentación y arreglo personal
CALIFICACIÓN:
11
INSTRUMENTOS DE EVALUACIÓN
Lista de Cotejo
“Diseño
“Diseño de programas utilizando diferentes paradigmas orientados a
objetos”
UNIDAD 1 EP 1
INSTRUMENTOS DE EVALUACIÓN
LISTA DE COTEJO
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
NOMBRE DEL ALUMNO:
PRODUCTO:
MATRICULA:
PARCIAL:
FIRMA DEL ALUMNO:
FECHA:
MATERIA:
CLAVE:
NOMBRE DEL PROFESOR:
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 cuales son las condiciones no cumplidas, si fuese necesario
Cumple
Valor Característica a cumplir (Reactivo)
Observaciones
Si
No
5%
Presentación. El reporte cumple con los requisitos de:
a. Buena Presentación
5%
5%
b. No tiene faltas de ortografía
c. Maneja el lenguaje técnico apropiado
15%
30%
15%
10%
10%
5%
100%
Contenido
a. Diagrama del Diseño de la solución. El diagrama cumple con
las especificaciones del modelo orientado a objetos.
b. Codificación. Presenta un código en el lenguaje de
programación orientada a objetos sin errores.
Desarrollo. Sustenta todos los pasos aplicados para la solución
de las prácticas utilizando operaciones con estructuras de
secuencia, selección e iteración.
Resultados. Cumplió totalmente con el objetivo esperado
Pantallas del ejercicio en ejecución. Las pantallas muestran el
funcionamiento claro y acorde con el objetivo esperado
Responsabilidad. Entregó el reporte en la fecha y hora señalada
Calificación
12
INSTRUMENTOS DE EVALUACIÓN
Guía de observación para Práctica
“Estructura de secuencia, selección e iteración”
UNIDAD 2 ED 1
UNIVERSIDAD POLITÉCNICA DE ____________________
NOMBRE DE LA ASIGNATURA : Programación Orientada a Objetos
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se
cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer
comentarios referentes a lo observado.
Valor del
reactivo
10%
10%
5%
10%
10%
15%
CUMPLE
SI
Característica a cumplir (reactivo)
Puntualidad para iniciar y concluir la práctica.
Desarrollo de la práctica.
práctica.
a. Codifica su solución de manera individual
b. Desarrollo de solución fundamentada y con una
secuencia acorde al paradigma orientado a objetos.
c. Organización de los datos a utilizar.
5%
d. Organización de los métodos a desarrollar.
10%
100%
OBSERVACIONES
Diagrama de solución.
solución. Utiliza símbolos necesarios para el
diseño de su solución.
Portada: Nombre de la escuela (logotipo), Carrera, Asignatura,
Profesor, Alumnos, Matricula, Grupo, Lugar y fecha de entrega.
Sintaxis (cero errores sintácticos y de lógica).
5%
20%
NO
Explicación de la aplicación. desarrollada.
desarrollada. Dominio de su
solución. Explica con seguridad. Identifica claramente tipos de
datos, variables, palabras clave y estructuras de datos del
programas desarrollado en el paradigma orientado a objetos
Presentación y arreglo personal
CALIFICACIÓN:
13
INSTRUMENTOS DE EVALUACIÓN
Lista de Cotejo
“Problemario de ejercicios en aplicaciones con arreglos”
UNIDAD 2 EP 1
INSTRUMENTOS DE EVALUACIÓN
LISTA DE COTEJO
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
NOMBRE DEL ALUMNO:
PRODUCTO:
MATRICULA:
PARCIAL:
FIRMA DEL ALUMNO:
FECHA:
MATERIA:
CLAVE:
NOMBRE DEL PROFESOR:
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 cuales son las condiciones no cumplidas, si fuese necesario
Cumple
Valor Característica a cumplir (Reactivo)
Observaciones
Si
No
Presentación. El reporte cumple con los requisitos de:
5% a. Buena Presentación
5% b. No tiene faltas de ortografía
5% c. Maneja el lenguaje técnico apropiado del paradigma POO
Contenido
a. Diagrama del Diseño de la solución. Los diagramas cumplen
15% con las especificaciones del modelo orientado a objetos.
30% b. Codificación. Presenta cada ejercicio un código en el lenguaje
de programación orientada a objetos sin errores.
15% Desarrollo. Sustenta todos los pasos aplicados para la solución
de las prácticas utilizando operaciones con arreglos.
10% Resultados. Cumplió totalmente con el objetivo esperado
Pantallas del ejercicio en ejecución. Las pantallas muestran el
10% funcionamiento claro y acorde con el objetivo esperado
5% Responsabilidad. Entregó el reporte en la fecha y hora señalada
100%
Calificación
14
Rubrica para programa orientado a objetos aplicando métodos, sobrecarga
sobrecarga y sobreescritura
UNIDAD 2 EP2
Aspectos a evaluar
Competente
10
Independiente
9
Básico Avanzado
8
Básico Umbral
7
El programa es
presentado de una
manera:
Orden y organización de 1. Clara
2. Ordenado
la solución
3. Organizado de
(1 puntos)
acuerdo al paradigma
OO
4. Es fácil de interpretar
Razonamiento lógico Usa razonamiento lógico
complejo y refinado
Cumple con tres de los
elementos requeridos.
Cumple con dos de los
elementos requeridos.
Usa razonamiento
lógico complejo.
Usa razonamiento lógico Alguna evidencia de
efectivo
razonamiento lógico
100% de las sentencias
codificadas en el
programa no tienen
errores sintácticos ni
lógicos
90% de las sentencias
codificadas en el
programa no tienen
errores sintácticos ni
lógicos
(2.5 puntos)
Errores sintácticos y
lógicos
(2 puntos)
Procedimiento
(2.5 puntos)
Contribución individual
(2 puntos)
Usa siempre una
estrategia eficiente y
efectiva para diseñar la
solución en el
paradigma orientado a
objetos
El estudiante fue un
participante activo,
revisando soluciones
previas así como la
bibliografía sugerida y
trabajando
cooperativamente
durante toda la lección.
Casi todos (85-89%) de
las sentencias
codificadas en el
programa no tienen
errores sintácticos ni
lógicos
Por lo general, usa una Por lo general, usa una
estrategia eficiente y
estrategia efectiva para
efectiva para diseñar la diseñar la solución en el
solución en el
paradigma orientado a
paradigma orientado a objetos
objetos
El estudiante participó,
revisó soluciones
previas así como la
bibliografía sugerida y
trabajo durante casi
toda la lección.
El estudiante fue un
participante activo, pero
tuvo dificultad al revisar
soluciones previas así
como la bibliografía
sugerida así trabajar
cooperativamente
durante la lección.
El trabajo es
presentado en una
manera organizada,
pero puede ser difícil
de interpretar la
solución propuesta
La mayor parte (7585%) de las sentencias
codificadas en el
programa no tienen
errores sintácticos ni
lógicos
Algunas veces usa una
estrategia efectiva
para diseñar la
solución en el
paradigma orientado a
objetos, pero no lo
hace consistentemente
El estudiante trabajo,
pero necesito
motivación para
mantenerse activo.
Insuficiente
0
El trabajo se ve
descuidado y
desorganizado. Es difícil
saber como esta
organizada la solución y
la relación de las
instrucciones.
Poca evidencia de
razonamiento lógico
Mas del 75% de las
sentencias codificadas
en el programa tienen
errores sintácticos ni
lógicos
Raramente usa una
estrategia efectiva para
diseñar la solución en el
paradigma orientado a
objetos
El estudiante no pudo
trabajar la actividad
efectivamente.
15
INSTRUMENTOS DE EVALUACIÓN
Guía de observación para Práctica
“Manejo de constructores y palabra reservada this”
UNIDAD 3 ED 1
UNIVERSIDAD POLITÉCNICA
POLITÉCNICA DE ____________________
NOMBRE DE LA ASIGNATURA : Programación Orientada a Objetos
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se
cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer
comentarios referentes a lo observado.
Valor del
reactivo
10%
10%
5%
10%
10%
15%
CUMPLE
SI
Característica a cumplir (reactivo)
Puntualidad para iniciar y concluir la práctica.
Desarrollo de la práctica.
práctica.
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. Organización de los datos a utilizar.
5%
d. Organización de los métodos a desarrollar.
10%
100%
OBSERVACIONES
Diagrama de solución.
solución. Utiliza símbolos necesarios para el
diseño de su solución haciendo uso adecuado de
constructores y apuntador this.
Portada: Nombre de la escuela (logotipo), Carrera, Asignatura,
Profesor, Alumnos, Matricula, Grupo, Lugar y fecha de entrega.
Sintaxis (cero errores sintácticos y de lógica).
5%
20%
NO
Explicación de la aplicación desarrollada.
desarrollada. Dominio de su
solución. Explica con seguridad. Identifica claramente los
constructores y los apuntadores this en los programas
desarrollados en el paradigma orientado a objetos
Presentación y arreglo personal
CALIFICACIÓN:
16
INSTRUMENTOS DE EVALUACIÓN
Lista de Cotejo
“Elaboración
“Elaboración de programas computacionales herencia y polimorfismo”
UNIDAD 3 EP 1
INSTRUMENTOS DE EVALUACIÓN
LISTA DE COTEJO
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
NOMBRE DEL ALUMNO:
PRODUCTO:
MATRICULA:
PARCIAL:
FIRMA DEL ALUMNO:
FECHA:
MATERIA:
CLAVE:
NOMBRE DEL PROFESOR:
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 cuales son las condiciones no cumplidas, si fuese necesario
Cumple
Valor Característica a cumplir (Reactivo)
Observaciones
Si
No
5%
Presentación. El reporte cumple con los requisitos de:
a. Buena Presentación
5%
5%
b. No tiene faltas de ortografía
c. Maneja el lenguaje técnico apropiado del paradigma POO
15%
30%
15%
10%
10%
5%
100%
Contenido
a. Diagrama del Diseño de la solución. Los diagramas cumplen
con las especificaciones del modelo orientado a objetos
específicamente el uso de herencia y polimorfismo.
b. Codificación. Presenta cada ejercicio un código en el lenguaje
de programación orientada a objetos sin errores.
Desarrollo. Sustenta todos los pasos aplicados para la solución
de las prácticas utilizando herencia y polimorfismo.
Resultados. Cumplió totalmente con el objetivo esperado
Pantallas del ejercicio en ejecución. Las pantallas muestran el
funcionamiento claro y acorde con el objetivo esperado
Responsabilidad. Entregó el reporte en la fecha y hora señalada
Calificación
17
INSTRUMENTOS DE EVALUACIÓN
Cuestionario
“Conceptos sobre el manejo de excepciones”
UNIDAD 4 EC 1
Universidad Politécnica de __________________________________________________
__________________________________________________
Nombre de la Asignatura: Programación Orientada a Objetos
INSTRUCCIONES: Conteste las preguntas y realice los ejercicios señalados.
1. Is the following code legal?
1.
2.
3.
4.
5.
try {
} finally {
}
2. What exception types can be caught by the following handler?
1.
2.
3.
catch (Exception e) {
}
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.
2.
3.
4.
5.
6.
7.
try {
} catch (Exception e) {
} catch (ArithmeticException a) {
}
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.
18
0.
1.
2.
3.
__error
__checked exception
__compile error
__no exception
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");
}
}
}
}
19
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.
}
20
INSTRUMENTOS DE EVALUACIÓN
Guía de observación para Exposici
Exposición
ición
“Excepciones en el Paradigma
Paradigma Orientado a Objetos”
UNIDAD 3 ED 1
17.
UNIVERSIDAD POLITÉCNICA
POLITÉCNICA DE ____________________
NOMBRE DE LA ASIGNATURA : Programación Orientada a Objetos
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se
cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga que hacer
comentarios referentes a lo observado.
Valor del
reactivo
10%
10%
5%
10%
10%
15%
5%
5%
20%
10%
100%
CUMPLE
Característica a cumplir (reactivo)
Puntualidad para iniciar y concluir la exposición.
SI
NO
OBSERVACIONES
Esquema de diapositiva. Colores y tamaño 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.
Ortografía (cero errores ortográficos).
Exposición.
a. Utiliza las diapositivas como apoyo, no lectura total
b. Desarrollo del tema fundamentado y con una
secuencia estructurada.
c. Organización de los integrantes del equipo.
d. Expresión no verbal (gestos, miradas y lenguaje
corporal).
Preparación
Preparación de la exposición. Dominio del tema. Habla con
seguridad. Identifica claramente tipos de datos, palabras clave
y estructura de programas del paradigma orientado a objetos
Presentación y arreglo personal
CALIFICACIÓN:
21
GLOSARIO
Abstraction (abstracción):
(abstracción) Propiedad y/o técnica de software que oculta los detalles de la implementación. Java
soporta abstracción de clases y abstracción de métodos. La abstracción de métodos se define separando el
uso de un método sin conocer como está implementado ese método. Si decide combinar la implementación, el
programa cliente será afectado. De modo similar la abstracción de clases oculta la implementación 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 indicación de un buen diseño
Agregación (aggregation) Relación en la que un objeto se compone o está construido de uno o más objetos, de
modo que la colección completa representa un todo. Las relaciones de agregación se especifican entre clases
y se reflejan en instancias de objetos
Algoritmo (algorithm) Método que describe cómo se resuelve un problema en término 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 programación.
Ámbito de clase (scope class) Las variables privadas definidas fuera de los métodos internos a la clase tienen
ámbito de clase. Son accesibles desde todos los métodos del interior de la clase, con independencia del orden
en que están definidas. Los métodos privados también tienen ámbito de clase.
Análisis (análysis)
(análysis) Proceso de identificación, modelado y descripción de lo que hace un sistema y de cómo
trabaja
Aplicación (application) Programa autónomo. Java tal como cualquier programa escrito utilizando un lenguaje
de alto nivel. Las aplicaciones se pueden ejecutar desde cualquier computadora con un intérprete Java. Las
aplicaciones no están sometidas a las restricciones impuestas a los applets de Java. Una clase aplicación debe
contener un método main. Se utiliza como sinónimo de programa.
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) Información pasada a un método. Los argumentos se suelen llamar también
parámetros. Un método que espera recibir argumentos debe contener una declaración de argumentos
formales por cada argumento actual como parte de la cabecera del mismo. Cuando se invoca a un método, los
valores de los argumentos actuales 8reales) se copia en los correspondientes argumentos formales. Véase
parámetro 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 elementos, 1 para el segundo y así sucesivamente.
Asignación (assignment) Almacenamiento de un valor en una variable. La sentencia de asignación es aquella
que implementa la asignación y utiliza un operador de asignación
Asociación (association) Una relación entre dos clases tales como una instancia de una clase referencia a una
instancia de otra clase.
Asociatividad (associativity) Orden en que se evalúan operadores de igual precedencia o prioridad dentro de
una expresión. La asociatividad por la izquierda produce una evaluación de izquierda a derecha y la
asociatividad por la derecha conduce a una evaluación de derecha a izquierda.
22
AWT(ABSTRACT WINDOW TOOLKIT) Colección de clases (java.awt.*) que se utiliza para implementar interfaces
gráficas de usuario. Contiene componentes tales como botones, etiquetas, campos de texto, áreas de texto,
barras de desplazamiento, cajas de verificación y menús. Las clases de AWT proporcionan una interfaz
independiente de la plataforma para desarrollo de programas visuales e interfaces gráficas de usuario.
Biblioteca de clases (class library) Colección organizada de clases que proporciona un conjunto de
componentes y abstracciones reutilizables
Binario (binary)
(binary) Representación numérica en base 2. En esta base sólo se utilizan los dígitos 0 y 1. Las
posiciones de los dígitos representan potencias sucesivas de 2. Véase bit.
Binding (ligadura)
Bit Dígito binario que puede tomar dos valores posibles: 0 y 1. Los bits son elementos básicos de construcción
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 método, un bloque delimita un
nivel de ámbito.
Boo
Boolean (bolean, lógico) Tipos primitivos de datos en Java. El tipo bolean puede tomar sólo dos valores: true
(verdadero) y false (falso).
Bytecode (cód
(códi
códigos de byte) Resultado de la compilación del código fuente Java. La JVM (Java Virtual Machine)
interpreta los bytecodes con la finalidad de ejecutar un programa Java. El bytecode es independiente de la
máquina y se puede ejecutar en cualquier máquina que tenga un entorno de ejecución. Los bytecodes se
almacenan en archivos class.
Cabecera de la clase (class header)
heade Cabecera de la definición de la clase. La cabecera proporciona un nombre
a la clase y define sus accesos. También describe si es una clase ampliada (extends) de una superclase o
implementa interfaces (implements)
Clase (clase) Colección encapsulada de datos y operaciones que actúan sobre los datos. El concepto de clase
es fundamental en programación orientada a objetos. Una clase consta de métodos y datos. Los métodos 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 características comunes compartidas por las
subclases. Se declaran utilizando la palabra reservada abstract. Las clases abstractas pueden contener datos
y métodos, 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 diseñada para crear (tener) instancias de objetos
Clase hija (child class) Véase subclase.
Clase interna (inner class) Una clase interna es una clase empotrada en otra clase. Las clases internas
permiten definir pequeños objetos auxiliares y unidades de comportamiento que hacen a los programas más
simples y concisos.
Clase interna (inner class) Término utilizado para describir una clase declarada dentro de otra declaración de
clases.
23
Clase miembro (member class) Término general utilizado para describir una clase declarada dentro de otra
declaración de clases.
Cohesivo (cohesive) Modo de describir una clase que tiene partes fuertemente integradas, cada una de las
cuales contribuye a describir las mismas abstracciones.
Comen
Comentario (comment) Trozo de texto que tienen como objetivo documentar el programa y mostrar como se ha
construido. Los comentarios no son sentencias de programación y son ignorados por el compilador. En Java los
comentarios están precedidos por dos barras (//) en una línea o encerrados entre /+ y */ en múltiples líneas.
Compilación (compilation) Proceso de traducción de un lenguaje de programación. Normalmente este proceso
implica la traducción de un lenguaje de programación de alto nivel a lenguaje de programación de bajo nivel, o
el formato binario de un conjunto de instrucciones específicas. La traducción se realiza con un programa
denominado compilador. Un compilador java traduce los programas en bytecodes.
Compilación (compiling) Nombre dado al proceso de traducción del código fuente a bytecodes.
Compilador (compiler) Programa de software que realiza un proceso de compilación (traducción del lenguaje
fuente a lenguaje máquina) de un programa escrito en un lenguaje de programación de alto nivel. En el caso
de Java, es un programa que traduce el código fuente Java en bytecode. El compilador de J2SDK se denomina
javac.
Compilador en tiempo de ejecución (inst(inst-in.time compiler)
compile Compilador capaz de compilar cada bytecode de una
vez, y a continuación se reinicia al código 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 método.
Constante de la clase (class constant) Variable definida como final y static.
Constructor (constructor) Método 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 construcción de
objetos con diferentes tipos de valores iniciales.
Constructor por defecto
defecto (default constructor) Constructor que no tiene parámetros y sirve para inicalizar un
objeto
Contenedor (container) Clase que implementa una estructura de datos que contiene una colección de objetos.
Se utiliza también para representar un componente IGU , Interfaz Gráfica de Usuario (GUI; Graphical User
Interface) que contiene una colección de otros componentes IGU
Cuerpo de la clase (class body) Cuerpo de una definición de una clase que agrupa las definiciones de los
miembros de la clase: campos, métodos y clases anidadas.
Declaración (declaration) Define las variables, métodos y clases en un programa.
Definición (defnition) Término sinónimo de declaración, aunque en el proceso de escritura de un programa se
suele diferenciar
Depuración (debugging) Proceso de encontrar, fijar y eliminar errores en un programa. Para estas tareas se
suele utilizar una herramienta de programación conocida como depurador.
24
Depurador (debugger) Herramienta para ayudar a la localización de errores de un programa: jdbc se
proporciona como parte del J2SDK. Un depurador puede establecer puntos de interrupción (breakpoint),
parada simple a través de un programa e inspecciona el estado de las variables.
Diagrama de clases (class diagram) Una representación gráfica construida utilizando una notación formal para
visualizar y documentar las relaciones entre clases de un sistema.
Diseño (diseño) Actividad de definir como se debe estructurar e implementar un programa.
Encapsulamiento, encapsulación
encapsulación (encapsulation) Localización y protección de las características internas y
estructura de un objeto. Combinación de métodos y datos en una única estructura de datos. En Java se conoce
como clase
Entero (integer)
(intege Un número completo (no es un número 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.
Excepción (exception) Un suceso (evento) no previsto que indica que un programa ha fallado en alguna forma.
Las excepciones se representan por objetos excepción en java. Las excepciones se manejan con un bloque de
sentencias try/catch.
Expresión (expresión) Una subparte de una sentencia que representa un valor. Por ejemplo, la expresión
aritmética ´2+5´ representa el valor 7. En Java, cualquier construcción sintáctica legal que represente un valor
es una expresión.
Expresión booleana lógica (Bolean expresión) Una expresión cuyo resultado es del tipo lógico (boolean, bol),
Operadores tales como && y || toman operandos lógicos y producen un resultado lógico. Los operadores
relacionales toman operandos de tipos diferentes y producen un resultado lógico.
Final (final) Modificador de clases, datos, métodos y variables locales. Una clase final no se puede extender, un
dato final o variable local es una constante y un método final no se puede anular (sustituir) en una subclase.
Formal parameter (parámetro formal) Parámetros definidos en la signatura o declaración del método.
Fuente del suceso (event source) El objeto que genera el suceso.
Función (function) Construcción matemática a la que se pueden aplicar valores y que devuelve un resultado.
Herencia (inheritance)
(inheritance) Una relación entre clases en que una subclase se extiende desde una superclase.
HTML (Hypertext Markup Language) Lenguaje de ´script´ o de marcas para diseñar páginas Web para creación
y compartición de documentos electrónicos 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 colección de otras
utilidades. Las versiones se numeran en secuencia con 1.2,1.3,1.4(la más reciente dentro de la
implementación de la plataforma Java 2).
IDE (integrated development) Software para ayudar a lso programadores a escribir código eficientemente.
Identificador (identifier) Nombre de una variable, método, clase, interfaz o paquete.
IGU, Interfaz Gráfica 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.
25
Implementación (implementation) La actividad de escribir, compilar, probar y depurar el código de un
programa.
Instancia (instance) Objeto de una clase
Instanciación (instantiation) Proceso de creación de un objeto de una clase.
Instanciación (instantion)
(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 métodos. Los datos, sin embargo, deben ser constantes y los métodos pueden tener sólo declaraciones sin
implementación. En Java existe sólo herencia simple y una clase puede heredar de una superclase. Esta
restricción se puede superar por el uso de una interfaz.
Interprete (Interpreter) Software que interpreta y ejecuta bytecode de Java. La máquina virtual Java (JVM) es un
intérprete de bytecodes de Java que proporciona una emulación de software de un procesador de máquina.
JDK (Java development kit) vease J25KJ. Define el APJ de Java y contiene un conjunto de utilidades de líneas
de órdenes tales como Javac (compilador) y Java(interprete).
Jerarquía de clases (class hierarchy) Colección de clases organizadas en términos de relaciones de
superclases y subclases.
JVM, Máquina Virtual Java (Java Virtual Machine) Una emulación de software de una máquina que puede
ejecutar bytecodes de Java. Proporciona una implementación del procesador, sistema de memoria e interfaces
a dispositivos hardware. Todos los programas Java se compilan a bytecodes que se ejecutan por una JVM.
Ligadura dinámica (dynamic binding) Ligadura o enlace del nombre de un método al cuerpo de dicho método
que se ejecuta mientras que un programa se está ejecutando , al contrario del enlace que se produce cuando
se compila el programa.
Llamada por referencia (call(call-byby-reference) Término utilizado cuando yuna referencia de un objeto se pasa como
un parámetro de un método. La referencia se copia (llamada por valor) pero no el objeto referenciado
Llamada por valor (call(call- Paso de un argumento a un método en el que una copia del by.value) valor del
argumento real se toma y se sitúa en una posición de memoria independiente, representada por el
correspondiente argumento formal. Todos los parámetros se pasan en Java por valor, pero hay otros lenguajes
de programación que proporcionan también el método de paso por referencia.
Manejador de sucesos (event handler) Un método en el que el objeto “oyente” se ha diseñado para hacer
algún proceso especificado cuando ocurre un suceso determinado.
Marco de trabajo (framework)
Mensaje (message) Una petición enviada a un objeto que solicita ejecutar una operación determinada. El
mensaje incluye un nombre y una lista opcional de parámetros.
Método abstracto (abstract method) Método que sólo tiene signatura y no tiene cuerpo, y debe estar contenido
dentro de una clase abstracta. Su implementación se realiza en la subclase. Se representa mediante el
modificador abstract. Los métodos abstractos deben implementarse en una subclase no abstracta incluso
aunque no se utilicen.
26
Método de la clase (class method) Sinónimo de método estático. Un método que se puede invocar sin crear
una instancia de la clase. Para definir métodos de clases, se ha de poner un modificador static en la
declaración del método.
Método de la instancia (Instance method) Un método (o procedimiento) declarado por un clase que se llama
por sus objetos de instancias (o los de las subclases).
Moldeado (casting, conversión) Proceso de convertir un valor de un tipo de dato primitivo en otro tipo primitivo
o conversión 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 explícitamente el tipo de una expresión utilizando una expresión de
conversión (cast).
Objeto instancia (instante
(instante object) Un objeto instancia es un representación 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 métodos que se pueden llamar en un objeto.
Ocultación de la información (information hiding) Un concepto de ingeniería de software que se refiere a la
ocultación y protección de las características internas y la estructura de un objeto.
Oyente de sucesos (event listener)
listener) El objeto que recibie 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 programación, Un nombre de palabra reservada no se puede utilizar para ningún
otro propósito. Palabra reservada,
reservada Palabra definida como parte del lenguaje Java
Parámetro actual o real (actual parameter) Valor que se pasa a un método cuando se invoca ese método. Los
parámetros reales (actuales) deben concordar en tipo, orden y número con los parámetros formales. Cuando
se invoca a un método, los valores de los argumentos actuales se copian en los correspondientes argumentos
formales.
Parámetro formal (formal parameter) Declaración de una variable parámetro en una lista de parámetros de un
método.
Plataforma de Java 2.
2 (Java 2 Plataform) Nombre de la versión más reciente de Java.
Programación controlada por sucesos (event(event-drive programming)
programming La programación de gráficos en Java está
controlada por sucesos. En programación controlada por sucesos (o eventos) los códigos se ejecutan por
activación de sucesos, tales como pulsar un botón o mover el ratón
Programación imperativa (imperative programming) Programación basada en los principios de instrucción o
secuencias de órdenes, selección, repetición, variables y asignación. También se conoce a esta programación
como procedimental o por procedimientos. Java es un lenguaje imperativo.
Recolección de basura (garbage collection)
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.
Suceso (event) Un tipo de señal que indica ha ocurrido alguna acción. Normalmente se asocia con sucesos de
entrada de interfaces gráficas de usuario (p.e. el “clic” de un ratón, pulsación de una tecla, etc. ) El programa
puede responder o ignorar el suceso. Véase evento.
27
Tipo abstracto de datos ,TAD (ADT, Abstract Data Type) Especificación formal de un tipo de dato que consta de
un nombre, un conjunto de operaciones y una descripción 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 datos (data type) Tipo de dato que se utiliza para definir variables. Java soporta tipos primitivos de
datos y tipos de datos objeto.
Variable de clase (class variable) Sinónimo de variable estática.
Variable de instancia (instance variable) Una variable declarada en una clase. Un miembro dato no estático de
una clase. Una copia de un método de una instancia existe en cada instancia de la clase que se crea.
Variable local (local variabl
variable)
riabl Variable definida en el interior de una definición de un método.
Clase Principal (main class) Una clase que contiene un método principal (main). Mensaje (message) Petición
enviada a un objeto que solicita realizar una operación con nombre. El mensaje incluye un nombre y una lista
opcional de parámetros.
Método (method) Una colección de sentencias que se agrupan juntos para ejecutar una operación.
Method object
Sobrecarga de un método (method overloading) La sobrecarga de n método significa que se puede definir los
métodos con el mismo nombre de una clase siempre que haya diferencia en sus parámetros.
Nented class (Nented class) Una clase estática declarad dentro de otra clase. Denominada también una clase
anidad de nivel superior.
Anulación de métodos (method overriding) La anulación o sustitución de métodos significa que se puede
modificar el método de una subclase que está definida originalmente en una superclase.
Modificador (Modifer) Una palabra reservada en Java que especifica las propiedades de los datos, métodos y
clases, y como se pueden utilizar. Ejemplos de modificaciones son public, private y static.
Multihilo (mulithreading)
(mulithreadin Propiedad de un programa para ejecutar diversas tareas simultáneamente dentro de
un programa.
Red (network) Infraestructura que permite a los ordenadores comunicarseunos con otros.
En red (networking) Propiedad de los ordenadores y programas de ordenador que las permiten comunicarse
unos con otros a través de una red.
Objeto (object) Véase instancia. Una instancia de una clase específica. En general, se puede construir
cualquier número de objetos a partir de una clase.
Análisis orientado a objetos OOA (object oriented Analysis) Análisis realizado en términos de objetos, clase y
relaciones de clases.
Diseño orientado a objetos OOD (object.oriented design) Diseño realizado en términos de objetos, clases y
selecciones de clases.
28
Operador (operator) Operaciones para valores de tipos primitivos de datos. Ejemplos de operadores son +,-,*,/
y%
Programación orientada a objetos OOP (objectoriented programming) Un enfoque de programación que implica
organización de objetos y sus comportamiento en clases de componentes realizables.
Asociatividad de operadores (operador
(operador associativity)
associativity Orden en que se evalúan operadores de igual procedencia
dentro de una expresión. La asociatividad a izquierda produce una evaluación de izquierda a derecha, la
sociatividad derecha es derecha a izquierda.
Precedencia de operadores (operador
(operador precedence) Prioridad de un operador dentro de una expresión
utilizando para determinar en que orden de evaluarán los operadores.
Sobrecarga (overload) Proporciona dos o más métodos con el mismo nombre en el mismo ámbito ,diferenciado
por tener listas de parámetros diferentes.
Anular o sustituir (override) Donde un método de una subclase redefine y especializa un método del mismo
tipo heredado de una superclase.
Paquete (package) Colección de clases agrupadas juntas.
Parámetro (parameter) Los parámetros formales se especifican en una declaración de un método en una
llamada a un método,
Paso por referencia (pass(pass-byby-referen
reference)
ence) Un término utilizado cuando una referencia de un objeto se pasa como
un parámetro de un método. Cualquier cambio al objeto local que ocurre dentro del cuerpo del método
afectará el objeto original que se pasará como argumento.
Paso por valor (pass(pass-by value) Un término utilizado cuando una copia de una variable de un tipo primitivo de
dato se pasa a un parámetro de un método. La variable real externa al método no está afectado, con
independencia de los cambios hechos al parámetro formal dentro del método.
Lista de parámetros (parameter list) Lista de valores dados a un método para inicializar sus parámetros o la
lista de parámetros de las declaraciones de variables.
Variable parámetro (parameter variable) Variable declarad en una lista de parámetros formados de un método
y que se inicializa cuando se llama al método. Los bloques catch también utilizan variables parámetro.
Clase padre (parent class) Igual concepto que superclase
Patrón (pattern) Disposición avanzada de clases y objetos
Precedencia, prioridad (precedence) Prioridad de un operador en una expresión utilizada para determinar el
orden en que se evalúan los operadores.
Tipo primitivo (primitive type) Un tipo definido como parte del lenguaje Java en vez del declarado por una clase
o intefaz. Se denomina también tipos incorporados.
Privado (private) Un modificador de miembros de una clase, un miembro privado sólo puede ser referenciado
en el interior de la clase.
Programa (program) Un conjunto de instrucciones (o sentencias) que describen alguna aplicación o actividad
ejecutada en una computadora.
29
Tipo de dato primitivo (primitive data type)
float,double,bolean y char
Los tipos de datos primitivos son byte, short, int, long,
Programador (progr
(programmer) Personas que diseña, escribe, prueba y depura programas.
Lenguaje de programación (programming language) Notación utilizada por los programadores para escribir
programas . un lenguaje tiene una sintaxis (las palabras y símbolos utilizadas para escribir códigos de
programa), una gramática (las reglas que definen una secuencia de palabras y símbolos significativos y
correctos) y semántica. Java es un lenguaje de programación.
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á declarad o cualquier subclase derivada de esa clase.
Público (public) Un modificador de clases, datos y métodos a los que se puede acceder por todos los
programas.
Palabra reservada (reserved word)
word Véase palabra clave.
Ejecutar, ejecución (run) Hacer funcionar un programa instrucción a instrucción.
Escenario (scenario) Descripción o conjunto de secuencias de sucesos que se utilizan para describir parte del
comportamiento de un programa.
Semántica (semantics) Conjunto de reglas que definen el significado de un programa sintácticamente válido.
Java toma un enfoque operacional en semántica de modo que el comportamiento y por consiguiente el
significado de un programa se define por la máquina sobre la que esta ejecutando el programa.
Signatura (signature)
Socket (socket) Término que describe la facilitación de comunicación entre un servidor y un cliente.
Inferencia de software (software engineering) Conjunto de etapas en la realización de un programa. Estas
etapas suelen ser de análisis, diseño implementación , pruebas, entregas y mantenimiento.
Código
Código 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 código fuente ser utiliza para las personas para
describir programas sus componentes han de ser lo más legibles y comprensibles posibles.
Software engineering
Source code
Source text
Specification
Lenguaje de consulta (SQL
(SQL standard
standard query langu
language) Lenguaje de computadora para realizar consultas y
actualizaciones en una base de datos.
Sentencia (statement) Una unidad de código que representa una acción o una secuencia de acciones. Las
sentencias se ejecutan en el orden en que están escritas y siempre terminan en un punto y coma.
Ligadura estática (static briding) Enlace o conexión de un nombre de un método a un cuerpo del método
ejecutados por el compilador mediante el análisis léxico del texto de un programa,
30
Método estático (static method) Véase método de una clase. Método declarado en una clave que se llama
directamente sin necesidad de que el objeto sea llamado.
Variable estática (static variable) Véase variable de clase.
Flujo (Stream) Término que describe el flujo de datos continuo de una dirección entre un emisor y un receptor.
Subclase (subclass) Una clase que hereda o se extiende de una superclase.
Superclase (superclass) Una clase que puede ser heredada de otra clase.
Subtipo (subtype) Un tipo que hereda o se extiende de un supertipo.
Superclase (superclass) Una clase que es heredada por una subclase.
Supertipo (supertype) Un tipo que es heredado por un subtipo.
Sintaxis (Syntax) Un conjunto de reglas que especifica la composición de programas a partir de palabras
reservadas, símbolos y caracteres. La sintaxis define la estructura de los programas legales en términos de
cómo las palabras reservadas y otros caracteres se pueden escribir y en qué orden.
Etiqueta (tag) Una instrucción HTML que indica a un navegador Web como visualizar un documento. Las
etiquetas se encierran entre corchetes tales como <html>, <i>, <b>, y </html>.
Prueba/ probar (test) En términos de programación, la actividad de verificación sistemática de que un
programa funciona correctamente.
Prueba (testing) Véase prueba
Hilo (thread) Un flujo de ejecución de una tarea que tiene un principio y un fin, en un programa.
UML (UML) Lenguaje unificado de modelado que proporciona notación estándar visual para documentar el
análisis y diseño de sistemas orientados a objetos.
Unicode (unicode)
(unicode Un sistema de codificación de caracteres internacionales gestionados por el consorcio
Unicode, Java soporta Unicode.
31
BIBLIOGRAFÍA
Básica
TÍTULO:
AUTOR:
AÑO:
EDITORIAL O REFERENCIA:
LUGAR Y AÑO DE LA EDICIÓN
ISBN O REGISTRO:
Java How to Program, 7th Edition
Harvey M. Deitel y Paul J. Deitel
2007
Prentice Hall
January 6, 2007
132222205
TÍTULO:
AUTOR:
AÑO:
EDITORIAL O REFERENCIA:
LUGAR Y AÑO DE LA EDICIÓN
ISBN O REGISTRO:
Object-Oriented Programming and Java
Danny Poo, Derek Kiong, Swarnalatha Ashok
2010
Springer
June 2, 2010
1846289629
TÍTULO:
AUTOR:
AÑO:
EDITORIAL O REFERENCIA:
LUGAR Y AÑO DE LA EDICIÓN
ISBN O REGISTRO:
Java How to Program: Early Objects Version (8th Edition)
Harvey M. Deitel y Paul J. Deitel
2009
Prentice Hall
March 27, 2009
136053068
Complementaria
TÍTULO:
AUTOR:
AÑO:
EDITORIAL O REFERENCIA:
LUGAR Y AÑO DE LA EDICIÓN
ISBN O REGISTRO:
Java: A Beginner's Guide, 4th Ed
Herbert Schildt
McGraw-Hill Osborne Media;
4 edition (December 1, 2006)
72263849
TÍTULO:
AUTOR:
AÑO:
EDITORIAL O REFERENCIA:
LUGAR Y AÑO DE LA EDICIÓN
ISBN O REGISTRO:
PROGRAMACION ORIENTADA A OBJETOS CON C ++
BALAGURUSAMY, E.
2007
MC GRAW HILL
2007
9788448156213
Sitio Web
http://java.sun.com
http://myphlip.pearsoncmg.com/phproducts/index.cfm?vbookid=720
http://myphlip.pearsoncmg.com/phproducts/index.cfm?vbookid=720
http://elvex.ugr.es/decsai/java/index.html
http://elvex.ugr.es/decsai/java/index.html
32
Descargar