3. Sumilla
Esta asignatura de formación profesional especializada se
orienta a la programación en entornos visuales con el
paradigma orientado objetos. Tiene el propósito de estudiar y
aplicar la Programación Orientada a objetos usando el
lenguaje Java: conceptos, estructuras y técnicas de la
programación orientada a objetos.
4. Objetivos
3.1. GENERALES
Lograr que el alumno adquiera conocimientos sobre las
características de la programación orientada a objetos y además
aprenda las características del lenguaje java como parte de la
implementación de los conceptos esbozados en el curso.
3.2. ESPECÍFICOS
Diferenciar las técnicas de programación estructurada y
programación orientada a objetos.
Brindar los conocimientos para la programación interactiva con
interfaces gráficas.
Estudiar la programación guiada por eventos.
Introducir el concepto de usabilidad y del diseño de interfases
gráficas de usuario.
5. Unidades Temáticas
PRIMERA UNIDAD: Programación Orientada a Objetos
Sem. Contenidos Actividades
Evolución de las técnicas de programación Exposición en clase,
Paradigma de la Programación Estructurada desarrollo en laboratorio
Paradigma de la Programación Orientada a Objetos
Diferencias entre programación estructurada y POO.
1 Ventajas y desventajas de la POO
Definición de lenguaje Java
Ccaracterísticas y ventajas
Definición de Maquina Virtual Java
Entornos de desarrollo (IDE) de Java
SEGUNDA UNIDAD: Implementación de Clases Y Objetos
Sem Contenidos Actividades
2 Definición de clase y objeto Exposición en clase,
Estructura de un programa en java desarrollo en laboratorio
Definición de referencia Practica
3 Definición de mensaje, partes de un mensaje y tipos de mensajes. Exposición en clase,
Constructores y paso de argumentos a métodos. desarrollo en laboratorio
Practica
6. Unidades Temáticas
TERCERA UNIDAD: Herencia
Sem Contenidos Actividades
4 Arrays como objetos de clases predefinidas Exposición en clase,
Inicialización de arrays desarrollo en laboratorio
Creación de una referencia a un array Practica
Tipos de arrays
5 Concepto de herencia Exposición en clase,
Redefinición de métodos heredados desarrollo en laboratorio
Tipos de acceso de los atributos Practica
Reutilización de código
6 Concepto de interface. Exposición en clase,
Declaración y uso de interfaces desarrollo en laboratorio
Referencias a interfaces Practica
Implementación de los métodos de las interfaces
CUARTA UNIDAD: Polimorfismo
Sem Contenidos Actividades
7 Definición y tipos de polimorfismo Exposición en clase, desarrollo
Ligadura dinámica y estática en laboratorio
Uso del polimorfismo Practica
8 EXAMEN PARCIAL
7. Unidades Temáticas
QUINTA UNIDAD: Clases Abstractas
Sem Contenidos Actividades
9 Concepto de clases abstractas Exposición en clase, desarrollo
Declaración e implementación de métodos abstractos. en laboratorio
Referencias abstractas, utilidad de las clases abstractas. Practica
Diferencia entre una interface y una clase abstract
SEXTA UNIDAD: Programación visual y orientada a objetos
Sem Contenidos Actividades
10 Introducción al paradigma de la programación visual. Exposición en clase, desarrollo
Desarrollo de GUI bajo el modelo de la POO en laboratorio
Tipos de componentes swing, sus propiedades y métodos Practica
11 El paradigma de la programación por eventos Exposición en clase, desarrollo
Concepto de eventos y diferencia con la programación en laboratorio
secuencial. Practica
Modelo de eventos e implementación de manejadores de
eventos en java
8. Unidades Temáticas
SEXTA UNIDAD: Gestión de errores y manejo de archivos
Sem Contenidos Actividades
12 Concepto de excepciones Exposición en clase, desarrollo en
Las excepciones como parte de la interfaz de un objeto. laboratorio
Manejo de excepciones con un modelo de objetos. Practica
Clasificación de las excepciones y su implementación en java.
13 Definición de archivos Exposición en clase, desarrollo en
Tipos de archivos laboratorio
Implementación de archivos Practica
SEPTIMA UNIDAD: Genericidad
Sem Contenidos Actividades
14 Concepto de clases genéricas Exposición en clase, desarrollo en
Hilos , Características de la especificación de clases laboratorio
genéricas, su importancia, utilidad e implementación en java Practica
9. Unidades Temáticas
OCTAVA UNIDAD: Persistencia
Sem Contenidos Actividades
15 Definición de persistencia y requisitos mínimos Exposición en clase, desarrollo
Instancia persistente y transitoria. en laboratorio
Su importancia en las aplicaciones, en el guardado y Practica
recuperación de datos.
Implementación de la persistencia en java(serialización)
NOVENA UNIDAD: Applets
Se Contenidos Actividades
m
16 Concepto de applet Exposición en clase,
Diferencia entre un applet y una aplicación java desarrollo en
Su implementación en java e inserción en una laboratorio
pagina web Practica
17 Examen final
10. Metodología
Las clases se desarrollaran en laboratorio con exposición de
los temas del curso, así mismo se implementaran programas en
java para probar los conceptos vertidos en el curso.
Material
Exposición en clase, uso del software NetBeans bajo licencia
GPL. Uso de proyector multimedia para el código desarrollado
en clase.
Evaluación
P.F = [ Σ (Practicas + Trabajos + Intervención
Oral ) / n + Examen Parcial + Examen Final ] / 3
11. Bibliografia
•. Francisco Javier Ceballos, (2000), Java 2 Curso de
programación, 2da edición. Edit. Alfaomega.
•Deitel, Harvey M. Deitel, Paul J., Como programar en Java,
2da. edición. Editorial Prentice Hall.
•Vásquez Paragulla, Victor Balta Alva. Super Java 2.
•Joel Carrasco Muñoz. Programación Java 2 con J2SE 1.4.
•Javier García de Jalón, José Ignacio Rodríguez, Lñigo Mingo,
Aitor Imaz, Alfonso Brazales, Alberto Larzabal, Jesús Calleja,
Jon García, (2000), Aprenda Java como si fuera primero,
Escuela Superior de Ingenieros, Universidad de Navarra,
13. ¿Qué es java?
„ Lenguaje de programación orientado a
objetos, desarrollado por Sun
Microsystems.
„ Lenguaje de propósito general, desarrollo
de aplicaciones para internet.
„ Conjunto de Librerías y clases
estandarizadas.
14. ventajas
„ La diferencia fundamental de Java con
respecto a los demás lenguajes de
programación consiste en que Java está
diseñado para facilitar el trabajo en la red.
„ La gran ventaja de Java es que ha sido
diseñado como Orientado a Objetos.
16. Características del Java
„ Simple y poderoso.- conceptos básicos de POO,
paradigma de simplicidad, permite llegar a un nivel lo
suficientemente bajo, como para realizar cualquier cosa
„ Seguro.-Se ejerce un control sobre los programas
ejecutables de java.
„ Robusto.-Verifica el código mientras se escribe y una
vez mas antes de ejecutarlo, permite que el programa
se comporte de una manera predecible.
„ Interactivo.-Java tiene características que permiten
escribir programas que hacen muchas cosas al instante
17. Características del Java
Entorno rico Arquitectura neutral OS/2
Macintosh
Windows95
Windows NT
Solaris
HP/UX
OSF
Linix
Optimo para Internet
Interpretado y de alto rendimiento
(opcionalmente compilado)
WWW
18. Arquitectura neutral de Java
(*.java) Codigo Fuente igual para cada plataforma
Compilador uno para cada plataforma
(*.class) El mismo para cada plataforma
Java Byte code
uno para cada plataforma
Interprete
Windows Windows Mac OS Solaris Unix
NT
95/98
20. Inicio de Trabajo
„ Se deberá crear una carpeta en algun lugar del
disco.
„ Ejemplo f:/clase1
„ Montar el sistema de archivos y seleccionar la
carpeta creada
„ Luego se podra crear Clases o Applets
21. Netbeans
Es un ambiente visual integrado que soporta el
ciclo completo de desarrollo de programas java
características:
„ Es 100% compatible con Java.
„ Presenta un ambiente gráfico de dasarrollo
integrado.
„ Maneja multiples proyectos, administra archivos
y controla versiones.
„ Permite conexión con servidores corporativos.
22. Facilidades para compilación,
pruebas y control de versiones
Ofrece compilación dinámica e incremental:
cada vez que hay una modificación, solo se
compila el elemento actualizado.
Puede actualizarse código mientras este mismo
este corriendo.
Puede colocarse versiones a proyectos, paquetes
y clases.
Con estas ventanas “”scrapbook” y con la
ventana de consola, se tiene un microambiente
para pruebas rápidas y verificaciones pequeñas
23. Paquetes las librerías de
clases
„ Es un medio de encapsulamiento de
mayor nivel que las clases, que puede
contener clases, interfaces y también
otros paquetes.
„ Los paquetes se usan también como un
mecanismo para evitar conflictos entre
nombres. Se puede tener dos clases con
el mismo nombre pero en diferentes
paquetes.
24. Paquetes las librerias de
clases
„ El API de java es un grupo de paquetes.
„ Fíicamente un paquete representa un directorio.
Paquetes mas importantes:
ƒ Java.applet Desarrollo de applets.
ƒ Java.awt Librerias de clases para manejo de GUIs.
ƒ Java.io manejo de ingreso y salida
ƒ java.lang Conjunto fundamental de clases.
ƒ Java.net soporte para el trabajo en redes.
ƒ Java.swing soporte para GUI.
25. Facilidades Brindadas por Java
„ Permite convertir un Web site estático en
dinámico e interactivo.
„ Oportunidad de transformar la web en una
plataforma de computo.
„ Brinda grandes facilidades para el manejo de
animaciones y control de imágenes de audio.
„ Permite incrementar las capacidades de las
aplicaciones no solo del lado del cliente sino
también del lado de servidor.
26. Malentendidos de Java
„ Java es una extensión de HTML.
„ Java se convertirá en un LP para todas las
plataformas.
„ Todos los programas de java se ejecutan en
una pagina Web.
„ JavaScript es una versión simple de java.
27. Variables
„ Una variable es un nombre que contiene un valor que
puede cambiar a lo largo del programa.
„ De acuerdo al tipo de información, dos tipos:
ƒ Variables de tipos primitivos. Estan definidas mediante el valor
unico.
ƒ Variables de referencia.Son referencias a nombres de una
información mas compleja.
„ Desde el punto de vista de su papel en el programa:
ƒ variable miembro de una clase:se definen en una clase o fuera
de cualquier método. Pueden ser primitivos o de referencia.
‚ Variables locales se definen dentro de un método mas en general
dentro de cualquier bloque entre llaves. Se destruyen al finalizar
dicho bloque.
28. Nombre de Variables
„ Pueden ser cualquier conjunto de caracteres
alfanuméricos, sin caracteres especiales (, . + - * / )
„ Existen algunas palabras reservadas, las cuales tiene
un significado especial en Java y no pueden ser usadas
como variables.
Abstract, boolen, break, case, char, class, continue,
default, do, double, else, extends, final, float, for, if
implements, import, int, private, public, return, private,
static, switch, synchronized, while,etc
29. Tipos de Datos Primitivos
„ Java, es un lenguaje de programación
con tipos y clases estrictas. Esto
significa que cada campo y expresión
tiene un tipo o una clase y sólo aquellos
del mismo tipo o clase son compatibles.
En otras palabras, no podemos mezclar
cadenas y números, ni podemos mezclar
árboles y pájaros.
30. Tipos Primitivos
Java tiene ocho tipos predefinidos conocidos
como tipos primitivos.
„ Tipos numéricos
ƒ tipos enteros
‚ byte, enteros 8-bits con signo complemento a 2,
‚ short, enteros 16-bits con signo complemento a
2
‚ int, enteros 32-bits con signo complemento a 2
‚ long, enteros 64-bits con signo complemento a 2
31. Tipos Primitivos
ƒ Tipos en coma flotante:
‚ float, real en coma flotante, 32-bits IEEE 754
‚ double, real en coma flotante, 64-bits IEEE 754
ƒ Tipos no numéricos
‚ char, carácter 16-bits Unicode
‚ boolean, tipo lógico, cuyos valores son true
(cierto) y false (falso)
32. Operadores
„ Igualdad y desigualdad: ==, !=
„ Comparación: <, <=, >, >=
„ Suma y resta unarios: +, -
„ Suma, multiplicación, división y módulo: +, -, *, /, %
„ Incremento y decremento prefijos y posfijos: ++ , --
„ Desplazamiento con signo y sin signo: <<, >>, >>>
„ Negación lógica unaria de bits: ~
„ Lógica de bits: &, |, ^
„ Lógica booleana: &&, ||
33. Expresiones
„ El operador de división / funciona en: entero y
real. Si los dos valores son enteros, ejecuta la
división entera; si no, ejecuta la división real.
Por ejemplo, el resultado de 1/2 es 0, mientras
que el de 1.0/2 es 0.5.
„ El operador % se llama módulo y encuentra el
resto de la división entera.
34. Expresiones
„ En Java, se aplican las reglas de precedencia
normales. Los grupos de precedencia para los
operadores aritméticos son:
ƒ Grupo 0: ( )
ƒ Grupo 1: ++, --, + (unario), - (unario)
ƒ Grupo 2: *, /, %
ƒ Grupo 3: +, -, + (concatenación)
35. Expresiones
„ Las funciones matemáticas principales se
encuentran en el paquete (package) Math, que
es una clase predefinida del lenguaje que
contiene los métodos adecuados para realizar
operaciones trigonométricas, de exponenciación
y otras operaciones.
„ Seno x => Math.sin(x)
„ x2 => Math.pow(x,2)
„ Math.round(6.6) => 7
36. Asignación
„ Una vez declarada una variable, podemos
usar una asignación para darle el valor de
una expresión. La instrucción de
asignación tiene la forma:
variable = expresión;
„ Ejemplo:
„ pesoAntiguo = 65;
„ pesoNuevo = pesoAntiguo - 5;
37. Asignación
„ Utilización de operadores:
ƒ var1 = var2+var3; //asignar a var1 el valor de var2+var3
ƒ var1 = var2-ver3; //asignar a var1 el valor de var2 - var3
ƒ var1 = var2*ver3; //asignar a var1 el valor de var2 * var3
ƒ var1 = var2/ ver3; // asignar a var1 el valor de var2 / var3
ƒ var1=var2%ver3; //asignar a var1 el valor de var2%var3
38. Asignación
„ Asignaciones de incremento decremento:
ƒ variable++; // añadir uno a variable
ƒ variable--; // restar uno a variable
ƒ variable += exp; // añadir exp a variable
ƒ variable -= exp; // restar exp a variable
39. Declaración de variables
„ Podemos definir una o más variables de distintos
tipos. Se puede inicializar una variable al mismo
tiempo que se declara, especificando un valor
inicial, o bien podemos optar por que el
intérprete le asigne un valor por defecto
(inicialización por omisión). Para los tipos
numéricos, el valor por omisión es cero.
ƒ tipo nombre;
ƒ tipo nombre1, nombre2, nombre3;
ƒ tipo nombre = valor;
40. Declaración de variables
Ejemplos de declaración de variables son:
int entero;
int entero1, entero2, entero3;
int entero = 6;
double doble;
double doble1, doble2, doble3;
double doble = 6.5;
41. Declaración de constantes
static final tipo nombre = valor;
Ejemplo de declaraciones de constantes
son:
static final int limiteVelocidad =
120;
static final double pi = 3.1416;
42. Conversiones entre tipos
„ Las conversiones de tipo se pueden hacer de la
siguiente forma:
‚ -Redondear un número double a long usando
Math.round
„ Asignar una variable a otra variable de distinto
tipo siempre y cuando el tipo receptor sea de
mayor tamaño, lo que significa que podemos
asignar:
byte => short => int => long => float => double
43. Conversiones entre tipos
Si pasamos de un tipo a otro menor en tamaño,
por ejemplo, pasar de double a float,
tenemos que hacer una conversión explícita de
tipos de la forma:
(tipo)expresion
Por ejemplo:
float kilogramos;
double calculo;
kilogramos = (float)(calculo*1.2);
int entero = (int)6.5;
44. Conversiones entre tipos
„ La conversión de tipos se permite sólo entre
tipos numéricos.
„ No hay ningún recurso en Java para convertir
caracteres y booleanos a numéricos y viceversa.
45. Ejemplo N 1
salida
class HolaMundo {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
46. Lenguaje java
Indica que el método no manipula Indica ningún tipo
instancias de la clase, por lo que Nombre de dato. El método
podrá invocarse sin tener que de la clase no retornará valor.
referirse a una instancia en
particular.
Método o función miembro.
main es donde empieza la
class MuestraTextoConstante { ejecución. Siempre debe
ser parte de una clase.
Indica que
el método
podrá ser
llamado public static void main (String args[]) {
desde
cualquier
lugar,
dentro o
System.out.println ("yo aprobaré");
Arreglo de
fuera de la
objetos tipo
clase.
cadena (String)
} pasados a la
clase en tiempo
de ejecución
}
Varaible Método del objeto out.
Encapsula la estática Igual que la función
funcionalidad miembro de printf () de C con el
del sistema. la clase añadido de un cambio
System de línea (n) al final.
47. Ejemplo N 2
Implementación de un applet
import java.applet.*;
import java.awt.*;
public class HolaMundo extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}
48. Ejemplo N 3
Modificar código de programa y ejecución
import java.applet.*;
import java.awt.*;
public class Primero extends Applet {
Font font = new Font (“Dialog”, Font, BOLD, 24);
String str = “Mi primer applet”;
int xPos =5;
}
49. Ejemplo N 4
Modificar código de programa y ejecución
public static void main(java.lang.String[] args) {
System.out.println(Math.sqrt(1999));
System.out.println(Math.atan(0.75));
}
adicionar el código:
double r=Math.random();
System.out.println(r);
r=Math.random();
System.out.println(r);
System.out.println(Math.random());