0% encontró este documento útil (0 votos)
126 vistas417 páginas

Cur So Java by Oracle

Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
126 vistas417 páginas

Cur So Java by Oracle

Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 417

Oracle10g: Programacin Java

Presentacin Electrnica

D17249CS10 Edicin 1.0 Enero 2005 D40257

Autores Jeff Gallus Glenn Stokol Revisores y Colaboradores Tcnicos Kenneth Cooper Christian Dugas Peter Driver Craig Hollister Chika Izumi Pete Laseau Glenn Maslen Monica Motley Gayathri Rajagopal Editor Michael Sebastian

Copyright 2004, Oracle. Todos los derechos reservados. Esta documentacin contiene informacin propiedad de Oracle Corporation; se suministra bajo los trminos de un contrato de licencia que contiene restricciones de uso y de revelacin y est tambin protegida por la legislacin de derechos de autor. Queda prohibida la ingeniera reversa del software. Si esta documentacin se entrega a una agencia del Ministerio de Defensa del Gobierno de EE.UU., se aplicar la siguiente advertencia de Restricted Rights: Restricted Rights Legend Use, duplication or disclosure by the Government is subject to restrictions for commercial computer software and shall be deemed to be Restricted Rights software under Federal law, as set forth in subparagraph (c) (1) (ii) of DFARS 252.227-7013, Rights in Technical Data and Computer Software (October 1988). Este material ni ninguna parte del mismo podr ser reproducido en cualquier forma o a travs de cualquier medio sin el expreso consentimiento por escrito de Oracle Corporation. La reproduccin es una violacin de la ley de derechos de autor y puede tener consecuencias penales o civiles. Si esta documentacin se entrega a una agencia del Gobierno de EE.UU. no perteneciente al Ministerio de Defensa, se aplicar la advertencia de Restricted Rights definida en FAR 52.227-14, Rights in Data-General, incluido Alternate III (junio de 1987). La informacin contenida en este documento est sujeta a cambio sin previo aviso. Si detecta cualquier problema en la documentacin, le agradeceremos lo comunique por escrito a Education Products, Oracle Corporation, 500 Oracle Parkway, Box SB-6, Redwood Shores, CA 94065. Oracle Corporation no garantiza que este documento est exento de errores. Todas las referencias a Oracle y a productos Oracle son marcas comerciales o marcas comerciales registradas de Oracle Corporation. Todos los dems nombres de compaas y productos mencionados se utilizan a los exclusivos fines de su identificacin y pueden ser marcas comerciales de sus respectivos propietarios.

Introduccin

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar este curso, debera estar capacitado para: Escribir aplicaciones autnomas con el lenguaje de programacin Java Desarrollar y desplegar una aplicacin Crear, generar y probar componentes de aplicacin mediante Oracle JDeveloper 10g

Copyright 2004, Oracle. Todos los derechos reservados.

Visin General del Curso


Este curso le ensear a escribir aplicaciones Java. Tambin aprender a crear, depurar y desplegar aplicaciones mediante Oracle JDeveloper 10g. El entorno de desarrollo es Oracle JDeveloper 10g y la base de datos Oracle.

Copyright 2004, Oracle. Todos los derechos reservados.

Introduccin a las Plataformas Oracle y Java

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Identificar los elementos clave de Java Describir la JVM (Java Virtual Machine) Examinar cmo se utiliza Java para crear aplicaciones Identificar los componentes clave de J2SE Java Development Kit (conocido como JDK o SDK) Describir las opciones de despliegue de Java

Copyright 2004, Oracle. Todos los derechos reservados.

Qu es Java?
Java: Es un lenguaje orientado a objetos y a plataformas. Fue diseado originalmente por Sun Microsystems para los productos electrnicos de consumo masivo. Contiene una biblioteca de clases. Utiliza una mquina virtual para la ejecucin de programas.

Copyright 2004, Oracle. Todos los derechos reservados.

Ventajas Principales de Java


Orientado a objetos Interpretado e independiente de la plataforma Dinmico y distribuido Multithread Slido y seguro

Copyright 2004, Oracle. Todos los derechos reservados.

Enfoque Orientado a Objetos


Objetos y Clases
Un objeto es una representacin de tiempo de ejecucin de una cosa. Una clase es una definicin esttica de las cosas.

Los modelos de clases elaboran:


Objetos y clases existentes Comportamiento, objetivo y estructura Relaciones entre las clases Relaciones entre los objetos de tiempo de ejecucin
Diseo Implementacin Integracin y prueba

Los mismos modelos existen en todo el proyecto.


Anlisis

MODELOS DE CLASES
5 Copyright 2004, Oracle. Todos los derechos reservados.

Independencia de la Plataforma
El cdigo de origen Java se almacena como texto en un archivo .java. El archivo .java se compila en archivos .class. Un archivo .class contiene bytecodes (instrucciones) de Java. Los bytecodes se interpretan en tiempo de ejecucin.
El archivo .class de Java es el cdigo ejecutable.
Compila (javac) Movie.java
6

JVM (java) Movie.class Programa en ejecucin

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Java con Computacin de Internet de Empresa


Cliente Servidor Web Presentacin Servidor de aplicaciones Lgica de negocio Datos

Servlets JSP (JavaServer Pages)


7

EJB (Enterprise JavaBeans) CORBA

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la JVM (Java Virtual Machine)

Sistema operativo

JVM Aplicacin

Copyright 2004, Oracle. Todos los derechos reservados.

Cmo Funciona JVM?


El cargador de clase carga todas las clases necesarias.
JVM utiliza un valor CLASSPATH para ubicar los archivos de clase.

El verificador de JVM comprueba la existencia de bytecodes no vlidos. El verificador de JVM ejecuta los bytecodes.
JVM puede llamar a un compilador JIT (Just-In-Time).

El gestor de memoria libera la memoria utilizada por el objeto con referencia cancelada y la devuelve al SO.
JVM maneja la recopilacin de desechos.

Copyright 2004, Oracle. Todos los derechos reservados.

Ventajas de los Compiladores JIT (Just-In-Time)


Los compiladores JIT: Mejoran el rendimiento. Son tiles si se ejecutan de forma repetida los mismos bytecodes. Convierten los bytecodes en la instruccin nativa. Optimizan el cdigo repetitivo como, por ejemplo, los bucles. Utilizan la VM (mquina virtual) de Java HotSpot para mejorar el rendimiento y la fiabilidad.

10

Copyright 2004, Oracle. Todos los derechos reservados.

Implementacin de Seguridad en el Entorno Java


Lenguaje y compilador

Cargador de clase

Verificador de bytecode

Acceso especfico de interfaz

11

Copyright 2004, Oracle. Todos los derechos reservados.

Despliegue de Aplicaciones Java


Despliegue del cliente:
JVM ejecuta aplicaciones autnomas desde la lnea de comandos. Las clases se cargan desde un disco local, lo que elimina la necesidad de cargarlas a travs de una red.

Despliegue del servidor:


Sirve a varios clientes desde un nico origen. Es compatible con un modelo de varias capas para la computacin de Internet.

12

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Java con Oracle 10g


Cliente Servidor Web Presentacin Servidor de aplicaciones Lgica de negocio Datos

Oracle Application Server

Base de datos Oracle

13

Copyright 2004, Oracle. Todos los derechos reservados.

Java Software Development Kit


Sun Java J2SE (conocido como JDK y Java SDK) proporciona: Compilador (javac) Biblioteca de clases principales
classes.zip rt.jar


14

Depurador (jdb) Intrprete de bytecode: La JVM (java) Generador de documentacin (javadoc) Utilidad jar (Archivo Java) Otros
Copyright 2004, Oracle. Todos los derechos reservados.

J2SE

Uso del Kit de Desarrollo Adecuado


Java2 ofrece tres tamaos: J2ME (Micro Edition): Versin dirigida especficamente al espacio del consumidor J2SE (Standard Edition): Entorno de desarrollo completo para Internet J2EE (Enterprise Edition): Todos los componentes de J2SE, adems de un servidor de aplicaciones y herramientas de creacin de prototipos

15

Copyright 2004, Oracle. Todos los derechos reservados.

Entorno de Desarrollo Integrado

Desarrollo UML ADF

Depuracin Intercambio Base de datos

XML

Cambios sincronizados
SCM

HTML

Despliegue

16

Copyright 2004, Oracle. Todos los derechos reservados.

Exploracin del Entorno de Oracle JDeveloper

Paleta de Componentes

Navegador del Sistema


17

Editor de Cdigos

Inspector de Propiedades

Copyright 2004, Oracle. Todos los derechos reservados.

Productos Oracle10g

18

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: El cdigo Java se compila en bytecodes independientes de la plataforma. JVM interpreta los bytecodes. Las aplicaciones Java pueden ser autnomas o se pueden implementar a travs de un modelo de computacin de Internet.

19

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de Principios Orientados a Objetos

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Definir objetos y explicar cmo se utilizan Asociar objetos para que se puedan comunicar y puedan interactuar mediante mensajes Definir clases y explicar cmo se utilizan Describir los principios OO (orientados a objetos): Clases, objetos y mtodos Describir el valor de los componentes de software reutilizables Examinar el modelo OO que se utiliza en este curso

Copyright 2004, Oracle. Todos los derechos reservados.

Qu es el Modelado?
Los modelos realizan las siguientes funciones:
Describen exactamente cules son las necesidades de negocio. Facilitan la discusin. Evitan errores.

El modelado y la implementacin se tratan por separado. Antes de que pueda comenzar la codificacin, el modelo debe ser correcto.

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son las Clases y los Objetos?


Una clase:
Modela una abstraccin de los objetos. Define los atributos y los comportamientos de los objetos. Es el plano que define un objeto.

Un objeto:
Est moldeado en funcin de la clase. Es una instancia nica de una clase. Retiene la estructura y el comportamiento de una clase.

Copyright 2004, Oracle. Todos los derechos reservados.

Los Atributos de un Objeto Mantienen su Estado


Los objetos conocen su estado actual. Un atributo es un fragmento de informacin.
Los valores de los atributos indican el estado de los objetos.

Objeto: Mi pluma azul

Atributo: Cantidad de tinta

Objeto: Cajero automtico


5

Atributo: Efectivo disponible

Copyright 2004, Oracle. Todos los derechos reservados.

Los Objetos Tienen un Comportamiento


Un objeto existe para proporcionar un comportamiento (funcionalidad) al sistema. Cada comportamiento distinto se denomina operacin.

Objeto: Mi pluma azul

Operacin: Escribir

Objeto: Cajero automtico Operacin: Dispensar efectivo


6 Copyright 2004, Oracle. Todos los derechos reservados.

Los Objetos se Modelan como Abstracciones


Un objeto Java se modela como una representacin abstracta de un objeto del mundo real. Slo debe modelar los atributos y las operaciones que sean relevantes en el contexto del problema.

Contexto: Catlogo de productos Atributos/operaciones del mundo real que puede que desee modelar: Atributos: Modelo, fabricante, precio Operaciones: Cambiar precio Atributos/operaciones del mundo real que puede que no desee modelar: Atributos: Color de tinta Operaciones: Rellenar tinta, cambiar color, sealar, escribir
7 Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de Composicin de Objetos


Los objetos pueden estar compuestos de otros objetos. Los objetos pueden formar parte de otros objetos. Esta relacin entre los objetos se conoce como agregacin.

Una PC puede ser un objeto.

Una PC puede tener un teclado, un mouse y una tarjeta de red, y todos pueden ser objetos.

Una PC puede tener una unidad de CD, que puede ser un objeto.

Copyright 2004, Oracle. Todos los derechos reservados.

Diagrama de Donut

getName

setBirthdate

nombre direccin fecha de nacimiento

getAge

getAge() Mensaje

getAddress

setAddress

Cliente o remitente

Persona
9 Copyright 2004, Oracle. Todos los derechos reservados.

Prctica Guiada: Distincin de Operaciones y Atributos

10

Copyright 2004, Oracle. Todos los derechos reservados.

Objetos de Colaboracin
Los objetos de colaboracin funcionan juntos para terminar una tarea y constituyen la base de un sistema de aplicaciones. Todos los mtodos se definen dentro de una clase y no globalmente, como en los lenguajes tradicionales. Todos los objetos se crean a partir de clases y contienen todos los atributos y todos los mtodos de dichas clases. Los objetos se deben asociar entre ellos para poder colaborar en tareas comunes. Los objetos asociados se comunican mediante el envo de mensajes.
11 Copyright 2004, Oracle. Todos los derechos reservados.

Interaccin de Objetos a travs de Mensajes


Los objetos se comunican mediante el envo de mensajes. El objeto emisor se debe asociar o enlazar al objeto receptor. El emisor del mensaje solicita al receptor que realice la operacin que se especifica en el mensaje. Esta comunicacin es similar a llamar a un procedimiento:
El emisor llama a un mtodo del receptor. El receptor ejecuta el mtodo especificado.

La llamada a un mtodo siempre se produce en el contexto de un objeto concreto:


myPen.write( ): Programacin orientada a objetos write (myPen): Programacin de estructura tradicional

12

Copyright 2004, Oracle. Todos los derechos reservados.

Qu es una Clase?
Una clase es una plantilla para objetos. Una definicin de clase especifica las operaciones y los atributos para todas las instancias de esa clase. Las clases se utilizan para gestionar la complejidad.

Al crear el objeto mi pluma azul, no es necesario que especifique sus operaciones ni sus atributos. Simplemente debe explicar a qu clase pertenece.

13

Copyright 2004, Oracle. Todos los derechos reservados.

Cmo se Identifica una Clase?


Identifique la estructura y el comportamiento comunes de un grupo de objetos. Reconozca un nico concepto lgico. Atencin: Un error bastante comn es utilizar las palabras clases y objetos indistintamente. Las clases definen objetos.
Mi pluma azul operaciones: atributos: operaciones: atributos: escribir, rellenar tinta cantidad de tinta, color de tinta escribir, rellenar tinta cantidad de tinta

Su pluma azul

14

Copyright 2004, Oracle. Todos los derechos reservados.

Comparacin de Clases y Objetos


Las clases son definiciones estticas que puede utilizar para entender todos los objetos de una clase. Los objetos son entidades dinmicas que existen en el mundo real y la simulacin que hace de l. Atencin: Las personas que trabajan con orientacin a objetos casi siempre utilizan las palabras clases y objetos indistintamente, por lo que es necesario comprender el contexto para diferenciar sus significados.

15

Copyright 2004, Oracle. Todos los derechos reservados.

Qu es la Encapsulacin?
La encapsulacin oculta las operaciones y la estructura internas de un objeto detrs de una interfaz. Un cajero automtico es un objeto que permite que los usuarios retiren efectivo.
El cajero oculta (encapsula) la operacin real de retirada de efectivo del usuario. La interfaz (la forma de operar el cajero) se proporciona mediante las funciones del teclado, la pantalla, el dispositivo que permite dispensar efectivo, etc. Ignorar la encapsulacin constituye un robo bancario.

Es imposible ignorar la encapsulacin en la programacin orientada a objetos.


Copyright 2004, Oracle. Todos los derechos reservados.

16

Qu Es la Herencia?
Puede haber aspectos comunes entre clases distintas. Define las propiedades comunes de una superclase.

Cuenta de ahorros

Cuenta

Cuenta corriente

Las subclases utilizan la herencia para incluir dichas propiedades.

17

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Relacin Es un Tipo de


Un objeto de subclase es un tipo de objeto de superclase. Una subclase debe tener todos los atributos y todos los comportamientos de la superclase.

Cuenta

Pluma

Cuenta de ahorros

Lpiz

18

Copyright 2004, Oracle. Todos los derechos reservados.

Qu es el Polimorfismo?
El trmino polimorfismo hace referencia a: Muchas formas para la misma operacin. La capacidad de solicitar una operacin con el mismo significado para objetos distintos. Sin embargo, cada objeto implementa la operacin de una forma nica. Los principios de herencia y sustitucin de objetos.

Carga de pasajeros
19 Copyright 2004, Oracle. Todos los derechos reservados.

Reglas de Arquitectura para la Reutilizacin


Escriba cdigo que contenga: Eventos que puedan interactuar con la aplicacin Java Propiedades que se puedan exponer Mtodos a los que se pueda llamar Escriba cdigo que soporte: Introspeccin o reflexin Personalizacin Persistencia

20

Copyright 2004, Oracle. Todos los derechos reservados.

Ingeniera para un Entorno de Caja Negra


Los JavaBeans siguen el enfoque de caja negra, que le permite: Simplificar algo de una complejidad arbitraria en un nico objeto que todos puedan comprender Considerar a los sistemas grandes una recopilacin de entidades interconectadas (cajas negras) que se comunican a travs de sus interfaces

21

Copyright 2004, Oracle. Todos los derechos reservados.

Diagrama UML de Registro de Pedidos

22

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: Un objeto es una abstraccin de un objeto del mundo real. Una clase es una plantilla o un plano para los objetos. Las clases forman rboles de herencia: Las operaciones que se definen en una clase las heredan todas las subclases. El polimorfismo libera al emisor de la llamada de la responsabilidad de conocer la clase del objeto del receptor.

23

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 2: Visin General


Esta prctica cubre: Identificacin de objetos de negocio para el sistema de registro de pedidos Identificacin de mtodos para las clases Identificacin de atributos para las clases Bsqueda de herencia en las clases Examen del modelo de clases UML para la aplicacin del curso

24

Copyright 2004, Oracle. Todos los derechos reservados.

Modelo de Clases UML Parcial de Sistema de Registro de Pedidos


Customer
name : String address: String phone: double getName() setName() setAddress() getAddress() :

Order
id: int orderDate: Date shipDate: Date shipMode: String orderTotal: double addItem() removeItem() setOrderDate() getOrderDate() setShipDate() :

OrderItem
lineNo: int quantity: int price: double getQuantity() setQuantity() setPrice() getPrice() getItemTotal() :

Product Company
contact: String discount: int getContact() setContact() :

Individual
licNumber: String setLicNumber() getLicNumber() :

id: int name: String description: String retailPrice: double getPrice() :

25

Copyright 2004, Oracle. Todos los derechos reservados.

Reglas Sintcticas y de Codificacin Bsicas de Java

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Identificar los componentes clave del lenguaje Java Identificar las tres construcciones de nivel superior de un programa Java Identificar y describir paquetes Java Describir la sintaxis bsica del lenguaje e identificar las palabras clave de Java Identificar las construcciones bsicas de un programa Java Compilar y ejecutar una aplicacin Java Examinar la arquitectura de JavaBeans como ejemplo de prcticas de codificacin estndar Usar la variable CLASSPATH y comprender su importancia en tiempo de compilacin y ejecucin.
2 Copyright 2004, Oracle. Todos los derechos reservados.

Examen de los Componentes de Toolkit


J2SE/J2EE de Sun proporciona: Compilador Intrprete de bytecodes Generador de documentacin

J2SE

Copyright 2004, Oracle. Todos los derechos reservados.

Exploracin de Paquetes de J2SE/J2EE


J2SE/J2EE de Sun proporciona paquetes estndar para: Lenguaje Ventanas Entrada/salida Comunicacin de red

J2SE

Copyright 2004, Oracle. Todos los derechos reservados.

Documentacin sobre el Uso de J2SE


J2SE/J2EE de Sun proporciona soporte de documentacin para: Comentarios
Implementacin Documentacin

Generador de documentacin

J2SE

Copyright 2004, Oracle. Todos los derechos reservados.

Contenido de un Origen Java


Un archivo de origen Java puede contener tres construcciones de nivel superior:
Por cada archivo, slo una palabra clave package, seguida del nombre del paquete Alguna o ninguna sentencia import, seguida de nombres de clase totalmente cualificados o de * cualificado por un nombre de paquete Una o varias definiciones class o interface, seguidas de un nombre y de un bloque

El archivo debe tener el mismo nombre que la clase pblica o que la interfaz pblica.

Copyright 2004, Oracle. Todos los derechos reservados.

Establecimiento de Reglas de Nomenclatura


Las reglas de nomenclatura incluyen: Nombres de clases
Customer, RentalItem, InventoryItem

Nombres de archivos
Customer.java, RentalItem.java

Nombres de mtodos
getCustomerName(), setRentalItemPrice()

Nombres de paquetes
oracle.xml.xsql, java.awt, java.io

Copyright 2004, Oracle. Todos los derechos reservados.

Informacin Adicional sobre Reglas de Nomenclatura


Variables:
customerName, customerCreditLimit

Constantes:
MIN_WIDTH, MAX_NUMBER_OF_ITEMS

Caracteres en minsculas y en maysculas Caracteres numricos y caracteres especiales

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de una Clase


Normalmente, las definiciones de clases incluyen: Modificador de acceso Palabra clave de clase Campos de instancia Constructores Mtodos de instancia Campos de clase Mtodos de clase

Copyright 2004, Oracle. Todos los derechos reservados.

Clase Rental: Ejemplo


Modificador de acceso public class Rental { //Class variable static int lateFee; // Instance variables int rentalId; String rentalDate; float rentalAmountDue; // Instance methods float getAmountDue (int rentId) { } }
10 Copyright 2004, Oracle. Todos los derechos reservados.

Declaracin

Variable de instancia

Mtodo de instancia

Creacin de Bloques de Cdigo


Escriba todas las declaraciones de clase entre llaves. Escriba todas las declaraciones de mtodo entre llaves. Agrupe los dems segmentos de cdigo relacionados.
public class SayHello { public static void main(String[] args) { System.out.println("Hello world"); } }

11

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de Mtodos Java


Siempre se definen dentro de una clase. Especifique:
Modificador de acceso Palabra clave esttica Argumentos Tipo de retorno

[access-modifiers] [static] "return-type" "method-name" ([arguments]) { "java code block } return

12

Copyright 2004, Oracle. Todos los derechos reservados.

Ejemplos de un Mtodo
public float getAmountDue (String cust){ // method variables int numberOfDays; float due; float lateFee = 1.50F; String customerName; // method body numberOfDays = getOverDueDays(); due = numberOfDays * lateFee; customerName = getCustomerName(cust); return due; } Declaracin

Variables de mtodo

Sentencias de mtodo

Retorno

13

Copyright 2004, Oracle. Todos los derechos reservados.

Declaracin de Variables
Puede declarar variables en cualquier lugar de un bloque de clase y fuera de cualquier mtodo. Debe declarar las variables antes de que se utilicen dentro de un mtodo. Normalmente, las variables se declaran al inicio de un bloque de clase. El mbito o la visibilidad de las variables se determina en el bloque de cdigo. Debe inicializar las variables de mtodo antes de utilizarlas. Las variables de instancia y de clase se inicializan automticamente.
Copyright 2004, Oracle. Todos los derechos reservados.

14

Ejemplos de Variables en el Contexto de un Mtodo


public float getAmountDue (String cust) { float due = 0; int numberOfDays = 0; float lateFee = 1.50F; {int tempCount = 1; // new code block due = numberOfDays * lateFee; tempCount++; } // end code block return due; } Variables de mtodo

Variables temporales

15

Copyright 2004, Oracle. Todos los derechos reservados.

Reglas para la Creacin de Sentencias


Utilice un punto y coma para terminar las sentencias. Defina las sentencias mltiples entre llaves. Utilice llaves para las sentencias de control.

16

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son los JavaBeans?


Un JavaBean es un componente de software reutilizable y de plataforma neutral que: Se puede manipular visualmente en una herramienta de creador Se comunica con otros JavaBeans mediante eventos Comprende componentes visibles que deben heredar de otros componentes visibles Proporciona una arquitectura para construir los bloques integrantes de una aplicacin

17

Copyright 2004, Oracle. Todos los derechos reservados.

Gestin de Propiedades de Bean


Las propiedades son las variables de miembro de clase bean. (Las variables pueden ser objetos o tipos primitivos.) Una propiedad puede ser:
No enlazada, que es una propiedad simple. Enlazada, que dispara un evento si se modifica el campo. Restringida, en la cual los objetos de listener interesados aceptan o vetan los cambios

18

Copyright 2004, Oracle. Todos los derechos reservados.

Exposicin de Propiedades y Mtodos

Mtodos de obtencin (public)

private T var; T[] arr;

Mtodos definidores (public void)

getVar()

setVar(T val) setArr(T[] val) setVar(boolean val)

T[] getArr() boolean isVar()

19

Copyright 2004, Oracle. Todos los derechos reservados.

Estndares de JavaBean Durante el Diseo


Las ventajas durante el diseo son: Se facilita la interaccin entre diseador, herramienta y bean Beans instanciados y en funcionamiento en una herramienta visual Entorno de desarrollo muy iterativo Creacin de aplicaciones en pequeas partes que se conectan y desconectan Almacenamiento y recuperacin de objetos instanciados

20

Copyright 2004, Oracle. Todos los derechos reservados.

Compilacin y Ejecucin de una Aplicacin Java


Para compilar un archivo .java:
prompt> javac SayHello.java compiler output

Para ejecutar un archivo .class:


prompt> java SayHello Hello world prompt>

21

Recuerde que debe tener en cuenta las maysculas/minsculas.


Copyright 2004, Oracle. Todos los derechos reservados.

La Variable CLASSPATH
Se define en el sistema operativo. Dirige a JVM y a las aplicaciones Java a la ubicacin en la que pueden encontrar los archivos .class. Hace referencia a bibliotecas incorporadas o a bibliotecas definidas por el usuario. Permite que el intrprete busque rutas de acceso y carga las clases incorporadas antes que las clases definidas por el usuario. Se puede utilizar con los comandos javac y java.

22

Copyright 2004, Oracle. Todos los derechos reservados.

CLASSPATH: Ejemplo
Ubicacin de los archivos .class en el paquete oe

Definicin de CLASSPATH
C:\>set CLASSPATH=D:labs\les03\classes\oe

23

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: J2SE proporciona herramientas bsicas de Java. J2SE proporciona un juego enriquecido de mtodos y clases predefinidos. Los programas Java estn formados por clases, objetos y mtodos. Si se siguen los estndares de programacin, se facilita la lectura y la reutilizacin del cdigo.

24

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 3: Visin General


Esta prctica cubre: Examen del entorno Java Escritura y ejecucin de una aplicacin Java sencilla Examen de la aplicacin de solucin del curso Inspeccin de clases, mtodos y variables Creacin de archivos de clase y de una clase de aplicacin con un mtodo main( ) Compilacin y ejecucin de una aplicacin

25

Copyright 2004, Oracle. Todos los derechos reservados.

Exploracin de Operadores y Tipos de Datos Primitivos

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Distinguir entre palabras reservadas y otros nombres en Java Describir las variables y los tipos de datos primitivos de Java Declarar e inicializar variables primitivas Utilizar operadores para manipular variables primitivas Describir los usos de los literales y de los operadores Java Identificar las categoras vlidas de operadores y la prioridad de operadores Utilizar los literales de objeto de cadena y el operador de concatenacin
2 Copyright 2004, Oracle. Todos los derechos reservados.

Palabras Clave Reservadas

boolean byte char double float int long short void true false null

abstract final native private protected public static synchronized transient volatile strictfp

break case catch continue default do else finally for if return switch throw try while

class extends implements interface throws import package instanceof new super this

Copyright 2004, Oracle. Todos los derechos reservados.

Tipos de Variables
Ocho tipos de datos primitivos:
Seis tipos numricos Un tipo de carcter Un tipo booleano (para valores verdaderos/falsos)

Tipos definidos por el usuario:


Clases Interfaces Matrices

ab

Copyright 2004, Oracle. Todos los derechos reservados.

Tipos de Datos Primitivos


Entero
byte short int long 1, 2, 3, 42 07 0xff 0

Coma flotante
float double

Carcter

Verdadero Falso

char

boolean

3.0F .3337F 4.022E23 0.0f

'a' '\141' '\u0061' '\n' \u0000

true false false

Agregue al nmero una letra L o F en maysculas o en minsculas para especificar un nmero largo o flotante.
5 Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son las Variables?


Una variable es una unidad bsica de almacenamiento. Las variables se deben declarar explcitamente. Cada variable tiene un tipo, un identificador y un mbito. Hay tres tipos de variables: Clase, instancia y mtodo.
Ttulo: Blue Moon Tipo int myAge; boolean isAMovie; float maxItemCost = 17.98F;
6 Copyright 2004, Oracle. Todos los derechos reservados.

Identificador Valor inicial

Declaracin de Variables
Forma bsica de declaracin de variable:
type identifier [ = value];
public static void main(String[] args) { int itemsRented = 1; float itemCost; int i, j, k; double interestRate; }

Las variables se pueden inicializar cuando se declaran.


Copyright 2004, Oracle. Todos los derechos reservados.

Variables Locales
Las variables locales slo se definen dentro de un mtodo o de un bloque de cdigo. Se deben inicializar para que se pueda leer su contenido o hacer referencia a l.

class Rental { private int instVar; // instance variable public void addItem() { float itemCost = 3.50F; // local variable int numOfDays = 3; // local variable } }

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de Nombres de Variables


Los nombres de variables deben comenzar por una letra del alfabeto, por un guin bajo o por el smbolo $. Otros caracteres pueden incluir dgitos.
a itemCost item$Cost item_Cost _itemCost itemCost2 item#Cost item*Cost 2itemCost item-Cost abstract

Utilice nombres significativos para las variables, como customerFirstName y ageNextBirthday.

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son los Literales Numricos?


Seis tipos: byte, short, int, long, float, double

Literales enteros

0 1 42 -23795 02 077 0123 0x0 0x2a 0X1FF 365L 077L 0x1000L 1.0 4.2 .47 1.22e19 4.61E-9 6.2f 6.21F

(decimal) (octal) (hex) (long)

Literales de coma flotante

10

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son los Literales No Numricos?

Literales booleanos

True false

Literales de carcter

'a'

'\n'

'\t'

'\077 '\u006F'

Literales de cadena

"Hello, world\n"

11

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica Guiada: Declaracin de Variables


Localice y corrija los errores en este cdigo:
1 2 3 4 5 6 7 8 9 10 11 byte sizeof = 200; short mom = 43; short hello mom; int big = sizeof * sizeof * sizeof; long bigger = big + big + big // ouch double old = 78.0; double new = 0.1; boolean consequence = true; boolean max = big > bigger; char maine = "New England state"; char ming = 'd';

12

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son los Operadores?


Los operadores manipulan datos y objetos. Los operadores toman uno o varios argumentos y producen un valor. Hay 44 operadores distintos. Algunos operadores cambian el valor del operando.

13

Copyright 2004, Oracle. Todos los derechos reservados.

Clasificacin de Operadores
Hay cinco tipos de operadores: Asignacin Aritmticos Enteros a nivel de bits Relacionales Booleanos

14

Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Operador de Asignacin


El resultado de una operacin de asignacin es un valor y se puede utilizar siempre que est permitido el uso de expresiones. El valor de la derecha est asignado al identificador de la izquierda:
int var1 = 0, var2 = 0; var1 = 50; // var1 now equals 50 var2 = var1 + 10; // var2 now equals 60

La expresin de la derecha siempre se evala antes de la asignacin. Las asignaciones se pueden encadenar:
var1 = var2 = var3 = 50;

15

Copyright 2004, Oracle. Todos los derechos reservados.

Trabajo con Operadores Aritmticos


Realizan operaciones aritmticas bsicas. Trabajan con literales y con variables numricas.
int a = b = c = d = e = a, b, c, d, e; 2 + 2; // addition a * 3; // multiplication b - 2; // subtraction b / 2; // division b % 2; // returns the remainder of division

16

Copyright 2004, Oracle. Todos los derechos reservados.

Informacin Adicional sobre Operadores Aritmticos


La mayora de las operaciones dan como resultado valores int o long: Los valores byte, char y short cambian a la categora int antes de la operacin. Si algn argumento es de tipo long, el otro tambin cambia a long y el resultado es de tipo long.
byte b1 = 1, b2 = 2, b3; b3 = b1 + b2; // ERROR: result is an int // b3 is byte

17

Copyright 2004, Oracle. Todos los derechos reservados.

Examen de Conversiones
Java convierte automticamente un valor de un tipo numrico en un tipo ms largo.

byte

short char

int

long

Java no realiza conversiones automticas a tipos ms cortos.


byte short char int long

18

Copyright 2004, Oracle. Todos los derechos reservados.

Aumento y Disminucin de Valores


Los operadores ++ y -- aumentan y disminuyen en 1 respectivamente:
int var1 = 3; var1++; // var1 now equals 4

Los operadores ++ y -- se pueden utilizar de dos formas:


int var1 = 3, var2 = 0; var2 = ++var1; // Prefix: Increment var1 first, // then assign to var2. var2 = var1++; // Postfix: Assign to var2 first, // then increment var1.

19

Copyright 2004, Oracle. Todos los derechos reservados.

Operadores Relacionales y de Igualdad

> >= < <= == !=

mayor que mayor o igual que menor que menor o igual que igual que no igual que

int var1 = 7, var2 = 13; boolean res = true; res = (var1 == var2); res = (var2 > var1);

// res now equals false // res now equals true

20

Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Operador Condicional (?:)


Alternativa til a la estructura ifelse:
boolean_expr ? expr1 : expr2

Si boolean_expr tiene el valor true, el resultado es expr1; en caso contrario, el resultado es expr2:
int val1 = 120, val2 = 0; int highest; highest = (val1 > val2) ? val1 : val2; System.out.println("Highest value is " + highest);

21

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Operadores Lgicos


Los resultados de las expresiones booleanas se pueden combinar utilizando operadores lgicos:
&& || ^ ! & | AND (con o sin evaluacin de cortocircuito) OR (con o sin evaluacin de cortocircuito) operacin OR exclusiva NOT

int var0 = 0, var1 = 1, var2 = 2; boolean res = true; highest = (val1 > val2)? val1 : val2; res = !res;

22

Copyright 2004, Oracle. Todos los derechos reservados.

Operadores de Asignacin Compuesta


Un operador de asignacin se puede combinar con cualquier operador binario convencional:
double total=0, num = 1; double percentage = .50; total = total + num; // total is now 1 total += num; // total is now 2 total -= num; // total is now 1 total *= percentage; // total is now .5 total /= 2; // total is now 0.25 num %= percentage; // num is now 0

23

Copyright 2004, Oracle. Todos los derechos reservados.

Prioridad de Operadores
Orden 1 2 3 4 5 6 7 8 9 10 11 12 13
24

Operadores ++ -- + - ~ ! (type) * / % + - + << >> >>> < > <= >= instanceof == != & ^ | && || ?: = op=

Comentarios Operadores unarios Multiplicacin, divisin, resto Suma, resta, adicin de cadena Desplazamiento (>>> es desplazar y rellenar con ceros) Comparacin de tipo, relacional Igualdad Operacin AND lgica/bit Operacin OR exclusiva lgica/bit Operacin OR de inclusin lgica/bit Operacin AND lgica Operacin OR lgica Operador condicional Operadores de asignacin

Asoc. R L L L L L L L L L L R R

Copyright 2004, Oracle. Todos los derechos reservados.

Informacin Adicional sobre Prioridad de Operadores


La prioridad de los operadores determina el orden en que se ejecutan:
int var1 = 0; var1 = 2 + 3 * 4;

// var1 now equals 14

Los operadores que tienen la misma prioridad se ejecutan de izquierda a derecha (consulte la nota del texto):
int var1 = 0; var1 = 12 - 6 + 3;

// var1 now equals 9

25

Utilice los parntesis para sustituir el orden por defecto.


Copyright 2004, Oracle. Todos los derechos reservados.

Concatenacin de Cadenas
El operador + crea cadenas y las concatena:
String String String name = name = "Jane "; lastName = "Hathaway"; fullName; name + lastName; // name is now //"Jane Hathaway" // OR name += lastName ; // same result fullName = name;

26

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: Java tiene ocho tipos de datos primitivos. Se debe declarar una variable para poder utilizarla. Java proporciona un juego global de operadores. Si utiliza tipos de datos ms cortos que int, puede que necesite la conversin explcita. Los operadores + y += se pueden utilizar para crear cadenas y concatenarlas.

27

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 4: Visin General


Esta prctica cubre: Declaracin e inicializacin de variables Uso de distintos operadores para calcular valores nuevos Visualizacin de resultados en la consola

28

Copyright 2004, Oracle. Todos los derechos reservados.

Control de Flujo de Programa

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Utilizar construcciones de toma de decisiones Realizar operaciones de bucle Escribir sentencias switch

Copyright 2004, Oracle. Todos los derechos reservados.

Clasificacin de Tipos de Control de Flujo Bsicos


El control de flujo se puede clasificar en cuatro tipos:

Secuencial

Iteracin

Seleccin

Transferencia

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Control de Flujo en Java



{ boolean finished = true; System.out.println("i = " + i); i++; }

Las sentencias simples terminan con un punto y coma (;). Puede agrupar sentencias mediante llaves { }. Cada bloque se ejecuta como una nica sentencia dentro de la estructura de flujo de control.

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Sentencia if
if ( boolean_expr ) statement1; [else statement2]; if (i % 2 == 0) System.out.println("Even"); else System.out.println("Odd"); if (i % 2 == 0) { System.out.print(i); System.out.println(" is even"); }
5 Copyright 2004, Oracle. Todos los derechos reservados.

General:

Ejemplos:

Anidacin de Sentencias if
if (speed >= 25) if (speed > 65) System.out.println("Speed over 65"); else System.out.println("Speed >= 25 but <= 65"); else System.out.println("Speed under 25");

if (speed > 65) System.out.println("Speed over 65"); else if (speed >= 25) System.out.println("Speed greater to 65"); else System.out.println("Speed under 25");
6 Copyright 2004, Oracle. Todos los derechos reservados.

Prctica Guiada: Localizacin de Errores


int x = 3, y = 5; if (x >= 0) if (y < x) System.out.println("y is less than x"); else System.out.println("x is negative"); int x = 7; if (x = 0) System.out.println("x is zero"); int x = 14, y = 24; if ( x % 2 == 0 && y % 2 == 0 ); System.out.println("x and y are even");
7 Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de la Sentencia switch


switch ( integer_expr ) { case constant_expr1: statement1; break; case constant_expr2: statement2; break; [default: statement3;] }

La sentencia switch resulta til al seleccionar una accin entre diversos valores enteros alternativos. Los valores de Integer_expr deben ser byte, int, char o short.

Copyright 2004, Oracle. Todos los derechos reservados.

Informacin Adicional sobre la Sentencia switch


Las etiquetas case deben ser constantes. Utilice break para salir de un switch. Es recomendable proporcionar siempre una etiqueta default.
switch (choice) { case 37: System.out.println("Coffee?"); break; case 45: System.out.println("Tea?"); break; default: System.out.println("???"); break; }
9 Copyright 2004, Oracle. Todos los derechos reservados.

Ejecucin de Bucles en Java


Hay tres tipos de bucles en Java:
while dowhile for

Todos los bucles tienen cuatro partes:


Inicializacin Condicin de iteracin Cuerpo Terminacin

10

Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Bucle while


while es la sentencia de bucle ms simple y contiene la forma general siguiente:
while ( boolean_expr ) statement;

Ejemplo:

int i = 0; while (i < 10) { System.out.println("i = " + i); i++; }

11

Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Bucle dowhile


Los bucles dowhile colocan la prueba al final:
do statement; while ( termination );

Ejemplo:

int i = 0; do { System.out.println("i = " + i); i++; } while (i < 10);

12

Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Bucle for


Los bucles for son los ms comunes:
for ( initialization; termination; iteration ) statement;

Ejemplo:
for (i = 0; i < 10; i++) System.out.println(i);

Cul sera el aspecto de este bucle for utilizando un bucle while?

13

Copyright 2004, Oracle. Todos los derechos reservados.

Informacin Adicional sobre el Bucle for


Se pueden declarar variables en la parte de inicializacin de un bucle for:
for (int i = 0; i < 10; i++) System.out.println("i = " + i);

La inicializacin y la iteracin pueden estar formadas por una lista de expresiones separadas por comas:
for (int i = 0, j = 10; i < j; i++, j--) { System.out.println("i = " + i); System.out.println("j = " + j); }

14

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica Guiada: Localizacin de Errores


int x = 10; while (x > 0); System.out.println(x--); System.out.println("We have lift off!"); int x = 10; while (x > 0) System.out.println("x is " + x); x--; int sum = 0; for (; i < 10; sum += i++); System.out.println("Sum is " + sum);

15

Copyright 2004, Oracle. Todos los derechos reservados.

La Sentencia break
Permite salir de un bucle o de una sentencia switch. Transfiere el control a la primera sentencia despus del cuerpo del bucle o a la sentencia switch. Puede simplificar el cdigo pero se debe utilizar con moderacin.
while (age <= 65) { balance = (balance+payment) * (1 + interest); if (balance >= 250000) break; age++; }
16 Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: El medio principal para la toma de decisiones es la sentencia if, con la clusula else opcional. Java tambin ofrece la sentencia switch. Java proporciona tres sentencias de bucle: while, dowhile y for. Debe utilizar las sentencias break y continue con moderacin.

17

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 5: Visin General


Esta prctica cubre: Realizacin de pruebas mediante sentencias ifelse Uso de bucles para realizar operaciones iterativas Uso de la sentencia break para salir de un bucle Uso de los operadores &&, || y ! en expresiones booleanas

18

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de Aplicaciones con Oracle JDeveloper 10g

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Crear nuevos proyectos, espacios de trabajo y aplicaciones Crear aplicaciones Java en Oracle JDeveloper Mejorar el diseo de marco de interfaz de usuario Depurar una aplicacin mediante el depurador de JDeveloper Definir clases mediante JDeveloper Describir cmo se puede utilizar JDeveloper para crear aplicaciones empresariales

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Es Oracle JDeveloper 10g?


Oracle JDeveloper 10g proporciona un IDE (Entorno de Desarrollo Integrado). Puede crear, compilar y ejecutar aplicaciones Java mediante Oracle JDeveloper. Los asistentes le ayudan a crear el cdigo de origen. Puede ver objetos desde distintas perspectivas: cdigo, estructura, diseo, etc.

Copyright 2004, Oracle. Todos los derechos reservados.

Exploracin del Entorno de Oracle JDeveloper

Paleta de componentes

Navegador del sistema


4

Editor de cdigos

Inspector de propiedades

Copyright 2004, Oracle. Todos los derechos reservados.

Examen de Espacios de Trabajo


Contienen varios proyectos Le permiten ver los objetos usados actualmente
Espacio de trabajo Panel Navigator

Panel Structure

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son los Proyectos?


Contienen archivos relacionados Gestionan los valores de entorno y de Proyecto proyecto Gestionan las opciones de depuracin y del compilador

Archivos de proyecto

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de Elementos de Oracle JDeveloper


Los elementos de JDeveloper se llaman seleccionando File > New. Estn clasificados por tipo:
General Capa de negocio Capa de cliente Capa de base de datos Capa Web

Puede crear cualquier elemento de JDeveloper.

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de un Espacio de Trabajo de Aplicacin

En la categora General, seleccione Application Workspace para llamar al panel Property.

Copyright 2004, Oracle. Todos los derechos reservados.

Especificacin de Detalles de Proyecto

Copyright 2004, Oracle. Todos los derechos reservados.

Seleccin de Bibliotecas Adicionales

10

Copyright 2004, Oracle. Todos los derechos reservados.

Adicin de un J2SE Nuevo

Las definiciones de J2SE nuevos son: Ejecutable de Java Una classpath Una ruta de acceso de origen Una ruta de acceso de documento
11 Copyright 2004, Oracle. Todos los derechos reservados.

Visualizacin de la Estructura de Directorio


Oracle JDeveloper crea y almacena los archivos .java y .class mediante la siguiente regla: <ORACLE_HOME>\jdev\mywork Seguido del nombre del espacio de nombres Seguido del nombre del proyecto
\classes\<package name>\ \src\<package_name>\

Seguido de archivos class y src

12

Copyright 2004, Oracle. Todos los derechos reservados.

Exploracin de la Aplicacin Esqueleto Java


Contiene clases de marco y de aplicacin.

13

Copyright 2004, Oracle. Todos los derechos reservados.

Bsqueda de Mtodos y Campos


Busque mtodos y campos mediante el panel Structure.

14

Copyright 2004, Oracle. Todos los derechos reservados.

Soporte del Desarrollo de Cdigo con el Analizador de Perfil y CodeCoach


Mejore la calidad del cdigo con CodeCoach. Evale la pila de ejecucin con el analizador de perfil Execution Sample. Examine el uso de la memoria de pila con el analizador de perfil Memory. Analice la duracin y la incidencia de eventos con el analizador de perfil Event para:
Eventos JVM Eventos Business Components for Java Eventos personalizados

15

Copyright 2004, Oracle. Todos los derechos reservados.

Personalizacin de JDeveloper
Personalice el IDE Aspecto Entorno general Ventanas que se pueden mover Paleta de componentes Cargue mapas de teclas predefinidos Cambie de nombre las clases y los paquetes mediante la reprogramacin.

16

Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Sistema de Ayuda

17

Copyright 2004, Oracle. Todos los derechos reservados.

Obtencin de Ayuda sobre un Tema


Utilice [F1] para llamar a la ayuda especfica del contexto.

18

Copyright 2004, Oracle. Todos los derechos reservados.

Depurador de Oracle JDeveloper 10g


Ayuda a buscar y a corregir errores de programa:
Errores de tiempo de ejecucin Errores de lgica

Permite el control de ejecucin. Permite el examen de variables.

19

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de Puntos de Ruptura


Definicin de puntos de ruptura: Gestin de varios puntos de ruptura Gestin de puntos de ruptura condicionales Definicin de las columnas que aparecen en la ventana
Descripcin Tipo Estado, etc.

Control de mbito de accin


Global > Espacio de trabajo > Proyecto

20

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de las Ventanas del Depurador


Visualizacin de informacin de depuracin: Classes: Muestra una lista de las clases cargadas y el estado. Watch: Evala y muestra las expresiones. Monitors: Muestra informacin sobre los monitores activos. Threads: Muestra los nombres y los estados de todos los threads. Smart Data: Analiza el cdigo de origen cercano al punto de ejecucin. etc.

21

Copyright 2004, Oracle. Todos los derechos reservados.

Desplazamiento por un Programa


Desplcese por el programa mediante los botones de la barra de herramientas Debugger: Iniciar el depurador. Reanudar el programa. Ir a la siguiente lnea de cdigo de la llamada al mtodo. Ir a la primera lnea ejecutable de la llamada al mtodo. Salir de la llamada al mtodo. Ir al final del mtodo. Realizar una pausa en la ejecucin. Parar el depurador.
22 Copyright 2004, Oracle. Todos los derechos reservados.

Observacin de Datos y Variables


El separador Smart Data muestra los campos y las variables analizadas. El separador Data muestra los argumentos, las variables locales y los campos estticos desde el contexto actual. Para observar otras variables:
Seleccione una variable en la ventana de origen y haga clic con el botn derecho del mouse. Seleccione Watch... at Cursor en el men contextual. Vea la variable en el separador Watch. Haga clic con el botn derecho del mouse en un elemento de datos para modificarlo.
23 Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido que: Oracle JDeveloper crea, depura y ejecuta todos los tipos de aplicaciones Java Oracle JDeveloper se puede utilizar para desarrollar:
Aplicaciones Java Servlets Java JSP EJB

JDeveloper se puede utilizar para crear aplicaciones empresariales

24

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 6: Visin General


Esta prctica cubre: Exploracin del IDE de Oracle JDeveloper 10g Creacin de un espacio de trabajo y un proyecto Inclusin de los archivos de aplicacin de la leccin anterior

25

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de Clases y Objetos

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Definir mtodos y variables de instancia Definir el mtodo de constructor no-arg (por defecto) Instanciar clases y llamar a mtodos de instancia Realizar la encapsulacin mediante paquetes para agrupar clases relacionadas Controlar el acceso con los modificadores de acceso public y private Utilizar mtodos y variables de clase

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Clases Java

Mtodos

Objetos

Contenidos en una clase

Paquetes

Atributos

Referencias de objetos

Copyright 2004, Oracle. Todos los derechos reservados.

Comparacin de Clases y Objetos


Un objeto es una instancia de una clase. Los objetos tienen su propia memoria. Se deben cargar las definiciones de clase para crear las instancias.
ttulo: Gone with clasificacin: PG Movie public void displayDetails() public void setRating() private String title; private String rating;

mov1

ttulo: Last Action clasificacin: PG-13

mov2

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de Objetos
Normalmente, los objetos se crean mediante el operador new:
ClassName objectRef = new ClassName();

Por ejemplo, para crear dos objetos Movie:


Movie mov1 = new Movie("Gone ..."); Movie mov2 = new Movie("Last ...");

ttulo: Gone with clasificacin: PG

ttulo: Last Action clasificacin: PG-13

Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Operador new


El operador new realiza las siguientes acciones: Asigna e inicializa la memoria para el objeto nuevo. Llama a un mtodo de inicializacin especial en la clase, denominado constructor. Devuelve una referencia al objeto nuevo.

Movie mov1 = new Movie("Gone with");

mov1
(Cuando se ha instanciado)

ttulo: Gone with clasificacin: PG

Copyright 2004, Oracle. Todos los derechos reservados.

Comparacin de Variables Primitivas y Variables de Objeto


Las variables primitivas Las variables de objeto contienen un valor. contienen referencias.
int i; i 0 Movie mov1; mov1 null Movie mov1 = new Movie(); 3 mov1

int j = 3; j

ttulo: null clasificacin: null

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Referencia null


Se puede asignar un valor especial null a una referencia de objeto, pero no a un primitivo. Puede comparar las referencias de objeto en null. Puede eliminar la asociacin a un objeto definiendo la referencia de objeto en null.
Movie mov1; if (mov1 == null) mov1 = new Movie(); mov1 = null; //Declare object reference //Ref not initialized? //Create a Movie object //Forget the Movie object

Copyright 2004, Oracle. Todos los derechos reservados.

Asignacin de Referencias
Si se asigna una referencia a otra, el resultado son dos referencias al mismo objeto:
Movie mov1 = new Movie("Gone..."); mov1 ttulo: Gone with clasificacin: PG

Movie mov2 = mov1; mov2

Copyright 2004, Oracle. Todos los derechos reservados.

Declaracin de Variables de Instancia


Las variables de instancia se declaran dentro de la clase, pero fuera de los mtodos o de los inicializadores estticos o de instancia.
public class Movie { public String title; public String rating; public float getPrice(){ return price; } }

mov1

ttulo: null clasificacin: null ttulo: null clasificacin: null

Creacin de objetos movie:


Movie mov1 = new Movie(); Movie mov2 = new Movie();
10

mov2

Copyright 2004, Oracle. Todos los derechos reservados.

Acceso a Variables de Instancia de Tipo public


Se puede acceder a las variables de instancia de tipo public mediante el operador dot:
public class Movie { public String title; public String rating; Movie mov1 = new Movie(); } mov1.title = "Gone ..."; if (mov1.title.equals("Gone ... ") ) mov1.rating = "PG";

11

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de Mtodos
Un mtodo en Java es equivalente a una funcin o a una subrutina en otros lenguajes.

modifier returnType methodName (argumentList) { // method body };

12

Copyright 2004, Oracle. Todos los derechos reservados.

Llamada a un Mtodo
Los objetos se comunican mediante mensajes: Todos los mtodos se definen dentro de una clase y no globalmente, como en los lenguajes tradicionales. La llamada a un mtodo siempre se produce en el contexto de un objeto concreto.
myPen.write( ): Programacin orientada a objetos Write (myPen): Programacin de estructura tradicional

13

Copyright 2004, Oracle. Todos los derechos reservados.

Especificacin de Argumentos de Mtodo: Ejemplos


Especifique el nmero y el tipo de argumentos en la definicin del mtodo:
public void setRating(String newRating) { rating = newRating; }

Si el mtodo no toma ningn argumento, deje los parntesis vacos:


public void displayDetails() { System.out.println("Title is " + title); System.out.println("Rating is " + rating); }

14

Copyright 2004, Oracle. Todos los derechos reservados.

Devolucin de un Valor desde un Mtodo


Utilice una sentencia return para salir de un mtodo y devolver un valor desde un mtodo:
public class Movie { private String rating; public String getRating () { return rating } }

Si el tipo de retorno es void, no ser necesario ningn retorno. Puede utilizar un retorno sin ningn valor para terminar un mtodo con un tipo de retorno nulo.
Copyright 2004, Oracle. Todos los derechos reservados.

15

Llamada a Mtodos de Instancia

public class Movie { private String title, rating; public String getRating(){ return rating; } public void setRating(String newRating){ rating = newRating; } Movie mov1 = new Movie(); } String r = mov1.getRating(); if (r.equals("G")) Utilice el

operador dot:

16

Copyright 2004, Oracle. Todos los derechos reservados.

Aplicacin de Encapsulacin en Java


Las variables de instancia se deben declarar como private. Los mtodos de instancia son los nicos que pueden acceder a variables de instancia de tipo private. private desacopla la interfaz de la clase de su operacin interna.
var aMethod

aMethod()

Movie mov1 = new Movie(); String rating = mov1.getRating(); String r = mov1.rating; // error: private ... if (rating.equals("G"))
17 Copyright 2004, Oracle. Todos los derechos reservados.

Transferencia de Primitivos a Mtodos


Cuando un valor de referencia de objeto o un valor primitivo se transfiere a un mtodo, se genera una copia del valor:
int num = 150; num 150

anObj.aMethod(num); System.out.println("num: " + num); public void aMethod(int arg) { arg if (arg < 0 || arg > 100) 150 arg = 0; System.out.println("arg: " + arg); }
18 Copyright 2004, Oracle. Todos los derechos reservados.

Transferencia de Referencias de Objeto a Mtodos


Cuando se transfiere una referencia de objeto a un mtodo, no se copia el objeto sino el puntero al objeto:
Movie mov1 = new Movie("Gone"); mov1.setRating("PG"); anObj.aMethod(mov1); mov1 ttulo: Gone with clasificacin: PG

ref2 public void aMethod(Movie ref2) { ref2.setRating("R"); }

19

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son las Variables de Clase?


Las variables de clase: Pertenecen a una clase y son comunes a todas las instancias de dicha clase. Se declaran como estticas en las definiciones de clase.
public class Movie { private static double minPrice; private String title, rating; title rating // class var // inst vars

min Price variable de clase Movie


20

title rating

objetos Movie

title rating

Copyright 2004, Oracle. Todos los derechos reservados.

Inicializacin de Variables de Clase


Las variables de clase se pueden inicializar en la declaracin. La inicializacin se produce cuando se carga la clase. Utilice un bloque de inicializador esttico para la inicializacin compleja. Todas las variables de clase se inicializan de forma implcita en valores por defecto dependiendo del tipo de datos.
public class Movie { private static double minPrice = 1.29; private String title, rating; private int length = 0;
21 Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son los Mtodos de Clase?


Los mtodos de clase: Los comparten todas las instancias. Son tiles para manipular variables de clase. Se declaran como estticos.
public static void increaseMinPrice(double inc) { minPrice += inc; }

Para llamar a un mtodo de clase, se utiliza el nombre de la clase o una referencia de objeto.
Movie.increaseMinPrice(.50); mov1.increaseMinPrice(.50);

22

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica Guiada: Mtodos de Clase o Mtodos de Instancia


public class Movie { private static float price = 3.50f; private String rating; public static void setPrice(float newPrice) { price = newPrice; } public float getRating() { return rating; Movie.setPrice(3.98f); Movie } mov1 = new Movie(); } mov1.setPrice(3.98f); float a = Movie.getRating(); Es vlido o no? float b = mov1.getRating();

23

Copyright 2004, Oracle. Todos los derechos reservados.

Ejemplos en Java
Ejemplos de variables y mtodos estticos: main() Math.sqrt() System.out.println()
public class MyClass { public static void main(String[] args) { double num, root; root = Math.sqrt(num); System.out.println("Root is " + root); }

24

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de Clases mediante el Editor de Clases

25

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son los Paquetes Java?


oe

Customer Order

Util

OrderEntry OrderItem

26

Copyright 2004, Oracle. Todos los derechos reservados.

Agrupamiento de Clases en un Paquete


Incluya la palabra clave package seguida del nombre de paquete en la parte superior del archivo de origen Java. Utilice la notacin de puntos para mostrar la ruta de acceso al paquete. Si omite la palabra clave package, el compilador coloca la clase en un paquete sin nombre por defecto. Utilice el indicador d con el compilador javac para crear la estructura de rbol de paquete en relacin al directorio especificado. La ejecucin de un mtodo main() en una clase empaquetada requiere:
Que CLASSPATH contenga el directorio que tiene el nombre de raz del rbol de paquete. Que el nombre de clase se cualifique mediante su nombre de paquete.
27 Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de CLASSPATH con Paquetes


CLASSPATH incluye el directorio que contiene el nivel superior del rbol de paquete:
Nombre de paquete Ubicacin de .class

CLASSPATH
C:\>set CLASSPATH=E:\Curriculum\courses\java\les06

28

Copyright 2004, Oracle. Todos los derechos reservados.

Modificadores de Acceso

acmevideo

acmetools

public

public

protected

private

29

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: Una definicin de clase especifica una plantilla para la creacin de objetos con funciones idnticas como, por ejemplo, mtodos y variables de instancia. Un objeto es una instancia de una clase determinada.
Para crear un objeto, utilice el operador new. Para manipular un objeto, utilice sus mtodos de instancia pblicos.

30

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 7: Visin General


Esta prctica cubre: Definicin de clases nuevas Especificacin de mtodos de instancia y variables de instancia de las clases Creacin de objetos Customer en main() Manipulacin de objetos Customer mediante mtodos de instancia pblicos

31

Copyright 2004, Oracle. Todos los derechos reservados.

Clases Internas y Ciclo de Vida de Objetos

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Proporcionar dos o ms mtodos con el mismo nombre en una clase Proporcionar uno o varios constructores para una clase Utilizar inicializadores para inicializar variables de clase y de instancia Describir el proceso de carga y de inicializacin de clases, as como el ciclo de vida de los objetos Definir y utilizar las clases internas

Copyright 2004, Oracle. Todos los derechos reservados.

Mtodos de Sobrecarga
Varios mtodos de una clase pueden tener el mismo nombre. Los mtodos deben tener firmas distintas.
public class Movie { public void setPrice() { price = 3.50F; } public void setPrice(float newPrice) { price = newPrice; Movie mov1 = new Movie(); } mov1.setPrice(); } mov1.setPrice(3.25F);

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Referencia this


Los mtodos de instancia reciben un argumento denominado this, que hace referencia al objeto actual.
public class Movie { public void setRating(String newRating) { this.rating = newRating; this } void anyMethod() { Movie mov1 = new Movie(); Movie mov2 = new Movie(); mov1.setRating("PG"); ttulo: null clasificacin: PG ttulo: null clasificacin: null

mov1 mov2

Copyright 2004, Oracle. Todos los derechos reservados.

Inicializacin de Variables de Instancia


Las variables de instancia se pueden inicializar de forma explcita en la declaracin. La inicializacin se produce en la creacin del objeto.

public class Movie { private String title; private String rating = "G"; private int numOfOscars = 0; Todas las variables de instancia se inicializan de forma implcita en valores por defecto dependiendo del tipo de datos. La inicializacin ms compleja se debe colocar en un constructor.
5 Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son los Constructores?


Para que la inicializacin sea correcta, una clase debe proporcionar un constructor. Cuando se crea un objeto, se llama automticamente a un constructor:
Normalmente se declara como public. Tiene el mismo nombre que la clase. No debe especificar un tipo de retorno.

El compilador especifica un constructor no-arg slo si no se ha proporcionado de forma explcita ningn constructor.
Si se ha proporcionado de forma explcita algn constructor, el compilador no genera el constructor no-arg.

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin y Sobrecarga de Constructores

public class Movie { private String title; private String rating = "PG"; La clase Movie public Movie() { proporciona ahora title = "Last Action "; dos constructores. } public Movie(String newTitle) { title = newTitle; } Movie mov1 = new Movie(); } Movie mov2 = new Movie("Gone "); Movie mov3 = new Movie("The Good ");

Copyright 2004, Oracle. Todos los derechos reservados.

Uso Compartido de Cdigo entre Constructores


Movie mov2 = new Movie(); public class Movie { private String title; private String rating; public Movie() { this("G"); } public Movie(String newRating) { rating = newRating; } }

Un constructor puede llamar a otro mediante this().

Qu ocurre aqu?

Copyright 2004, Oracle. Todos los derechos reservados.

Clases, Mtodos y Variables final


Una variable final es una constante y no se puede modificar.
Por lo tanto, se debe inicializar. Se suele declarar como public static para uso externo.

Un mtodo final no se puede sustituir por una subclase. Una clase final no se puede subclasificar.
public final class Color { public final static Color black=new Color(0,0,0); }

Copyright 2004, Oracle. Todos los derechos reservados.

Reclamacin de Memoria
Cuando se han perdido todas las referencias a un objeto, el objeto se marca para la recopilacin de desechos. La recopilacin de desechos reclama la memoria que utiliza el objeto. La recopilacin de desechos es automtica. No es necesario que el programador haga nada, pero puede ofrecer una indicacin a System.gc();.

10

Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Mtodo finalize()


Si un objeto contiene un recurso como, por ejemplo, un archivo, el objeto debe ser capaz de limpiarlo. Puede proporcionar un mtodo finalize() en la clase. Se llama al mtodo finalize() justo antes de la recopilacin de desechos.
public class Movie { public void finalize() { System.out.println("Goodbye"); } }
11

Algn problema?

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son las Clases Internas?


Las clases internas son clases anidadas que se definen en una clase o en un mtodo. Fuerzan una relacin entre dos clases. Pueden ser de cuatro tipos:
Esttica Miembro Local Annima
public class Outer { class Inner { } } Clase delimitadora

12

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Clase Interna de Miembro


Se declara dentro de otra clase. Se permite el anidamiento. Puede acceder a variables dentro de su propia clase y de cualquier clase delimitadora. Slo puede declarar mtodos estticos final.
public class CalendarPopup { ... class MonthSelector { class DayOfMonth{...}; DayOfMonth[] NumberOfDaysInMonth ... } }

13

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Clase Interna Local


Se declara dentro de un bloque de cdigo (dentro de un mtodo). Todos los parmetros o variables final declarados en el bloque son accesibles para los mtodos de la clase interna.
public class CalendarPopup { ... public void handlerMethod(){ class DateHandler{}; DateHandler sc = new DateHandler(); ... } }

14

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de Clases Internas Annimas


Se definen en el nivel de mtodo. Se declaran dentro de un bloque de cdigo. No tienen las palabras clave class, extends e implements. No pueden tener un constructor.
public class Outer { ... public void outerMethod(){ ... myObject.myAnonymous(new SomeOtherClass(){ ... } ) } }

15

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Clase Calendar


Se convierte entre un objeto de fecha y un juego de campos de enteros. Representa un momento concreto en el tiempo. Las subclases interpretan una fecha de acuerdo con el sistema de calendario especfico.
public class Order { ... public void String getShipDate(){ ... Calendar c = Calendar.getInstance(); c.setTime(orderDate); ... } ) } }
16 Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: Los mtodos se pueden sobrecargar en Java. Los mtodos de instancia reciben una referencia this al objeto actual. La mayora de las clases proporcionan uno o varios constructores para inicializar objetos nuevos. Las variables de clase y los mtodos de clase se pueden definir para comportamientos y propiedades de toda la clase. Las clases se pueden definir de varias formas dentro de una clase.

17

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 8: Visin General


Esta prctica cubre: Definicin y uso de mtodos sobrecargados Uso de un constructor no-arg para una clase Uso de constructores adicionales para una clase Definicin de variables estticas y mtodos estticos para el comportamiento de toda la clase Uso de mtodos estticos

18

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Clases String, StringBuffer, Wrapper y de Formato de Texto

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Crear cadenas en Java Utilizar los mtodos de conversin que proporcionan las clases wrapper predefinidas Utilizar la clase StringBuffer para manipular datos de caracteres Introducir las clases DateFormat, DecimalFormat y MessageFormat Examinar la salida estndar y la serializacin

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Es String?
String es una clase. Un objeto String contiene una secuencia de caracteres. Los objetos String son de slo lectura (inmutables); sus valores no se pueden cambiar despus de la creacin. La clase String representa todas las cadenas de Java.

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de String
Asigne una constante entre comillas dobles a una variable String:
String category = "Action";

Concatene otras cadenas:


String empName = firstName + " " + lastName;

Utilice un constructor:
String empName = new String(Bob Smith");

Copyright 2004, Oracle. Todos los derechos reservados.

Concatenacin de Cadenas
Utilice el operador + para concatenar cadenas.
System.out.println("Name = " + empName);

Puede concatenar primitivos y cadenas.


int age = getAge(); System.out.println("Age = " + age);

La clase String tiene un mtodo de instancia concat() que se puede utilizar para concatenar cadenas.

Copyright 2004, Oracle. Todos los derechos reservados.

Realizacin de Operaciones en Cadenas


Bsqueda de la longitud de una cadena:
int length(); String str = "Comedy"; int len = str.length();

Bsqueda del carcter en un ndice especfico:


char charAt(int index); String str = "Comedy"; char c = str.charAt(1);

Devolucin de una subcadena de la cadena:


String substring (int beginIndex, int endIndex); String str = "Comedy"; String sub = str.substring(2,4);

Copyright 2004, Oracle. Todos los derechos reservados.

Realizacin de Operaciones Adicionales en Cadenas


Conversin en maysculas o en minsculas:
String caps = str.toUpperCase();

String toUpperCase(); String toLowerCase();

Recorte de espacio en blanco:


String nospaces = str.trim();

String trim();

Bsqueda del ndice de una subcadena:


int index = str.indexOf("me");

int indexOf (String str); int lastIndexOf (String str);


7

Copyright 2004, Oracle. Todos los derechos reservados.

Comparacin de Objetos String


Utilice equals() si desea tener en cuenta las maysculas/minsculas:

String passwd = connection.getPassword(); if (passwd.equals("fgHPUw")) // Case is important

Utilice equalsIgnoreCase() si desea ignorar las maysculas/minsculas:

String cat = getCategory(); if (cat.equalsIgnoreCase("Drama")) // We just want the word to match

No utilice ==.

Copyright 2004, Oracle. Todos los derechos reservados.

Produccin de Cadenas desde Otros Objetos


Utilice el mtodo Object.toString(). La clase puede sustituir a toString().
public Class Movie { public String toString () { return name + " (" + Year + ")"; }

System.out.println() llama automticamente al mtodo toString() de un objeto si se le transfiere la referencia.


Movie mov = new Movie(); System.out.println(mov);

Copyright 2004, Oracle. Todos los derechos reservados.

Produccin de Cadenas desde Primitivos


Utilice String.valueOf():
String seven = String.valueOf(7); String onePoint0 = String.valueOf(1.0f);

Existe una versin de System.out.println() para cada tipo primitivo:


int count; System.out.println(count);

10

Copyright 2004, Oracle. Todos los derechos reservados.

Produccin de Primitivos desde Cadenas


Utilice las clases wrapper primitivas. Existe una clase wrapper para cada tipo primitivo:
Integer ajusta el tipo int. Float ajusta el tipo float. Character ajusta el tipo char. Boolean ajusta el tipo boolean.

Etc.

Las clases wrapper proporcionan mtodos para convertir un String en un primitivo y un primitivo en un String.

11

Copyright 2004, Oracle. Todos los derechos reservados.

Mtodos de Conversin de Clases Wrapper


Ejemplo: Utilice los mtodos para procesar datos de campos segn se declaran.
String qtyVal = "17"; String priceVal = "425.00"; int qty = Integer.parseInt(qtyVal); float price = Float.parseFloat(priceVal); float itemTotal = qty * price;

12

Copyright 2004, Oracle. Todos los derechos reservados.

Cambio del Contenido de una Cadena


Utilice la clase StringBuffer para cadenas modificables de caracteres:
public String reverseIt(String s) { StringBuffer sb = new StringBuffer(); for (int i = s.length() - 1; i >= 0; i--) sb.append(s.charAt(i)); return sb.toString(); }

Utilice StringBuffer si necesita seguir agregando caracteres a una cadena. Nota: StringBuffer tiene un mtodo reverse().
13 Copyright 2004, Oracle. Todos los derechos reservados.

Formato de Clases
El paquete java.text contiene: Una clase abstracta denominada Format con el mtodo format() mostrado en el siguiente ejemplo:
public abstract class Format { public final String format(Object obj){ //Formats an object and produces a string. } }

Clases que formatean informacin sensible al cdigo local como, por ejemplo, fechas, nmeros y mensajes
DateFormat, NumberFormat y MessageFormat

14

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Clase SimpleDateFormat


SimpleDateFormat: Es una clase concreta para el formato y el anlisis de fechas de un modo sensible al cdigo local. Permite comenzar seleccionando cualquier patrn definido por el usuario para el formato de fecha-hora. Utiliza una cadena de patrn de tiempo para visualizar la fecha:
y M m ao 1996 mes del ao July o 07 minuto de la hora 30

15

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Clase MessageFormat


MessageFormat: Es una clase concreta para construir mensajes que se adaptan al idioma y que se muestran para los usuarios finales Toma un juego de objetos, los formatea y, a continuacin, inserta las cadenas formateadas en los lugares adecuados del patrn Se diferencia de otras clases de Format en que es el usuario el que crea los objetos MessageFormat Se define normalmente de manera dinmica en tiempo de ejecucin

16

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de DecimalFormat
DecimalFormat: Es una subclase concreta de NumberFormat para el formato de nmeros decimales. Permite la utilizacin de una gran variedad de parmetros y la localizacin a nmeros de juegos occidentales, de Oriente Medio y de Extremo Oriente. Utiliza la notacin numrica estndar en el formato.
public DecimalFormat(String pattern);

17

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica Guiada:
1. Cul es la salida de cada fragmento de cdigo?
a.
String s = new String("Friday"); if(s == "Friday") System.out.println("Equal A"); if(s.equals("Friday")) System.out.println("Equal B");

b.
int num = 1234567; System.out.println(String.valueOf(num).charAt(3));

18

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica Guiada:
2. Cul es la salida de cada fragmento de cdigo?
a.
String s1 = "Monday"; String s2 = "Tuesday"; System.out.println(s1.concat(s2).substring(4,8));

b.
// s3 begins with 2 spaces and ends with 2 spaces String s3 = " Monday "; System.out.println(s3.indexOf("day")); System.out.println(s3.trim().indexOf("day"));

19

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Expresiones Normales


Hace coincidir secuencias de caracteres con patrones especificados mediante expresiones normales Incluye una clase Matcher que es la que realiza las operaciones de coincidencia Emplea una clase Pattern para proporcionar una representacin compilada de una expresin normal
Pattern p = Pattern.compile("a*b"); Matcher m = p.matcher("aaaaab"); boolean b = m.matches();

20

Copyright 2004, Oracle. Todos los derechos reservados.

Acerca de System.out.println
Comprensin de System.out.println() System es una clase del paquete java.lang. out es una variable public final static (de clase).
Se declara como una referencia de objeto PrintStream.

println() es un mtodo sobrecargado de la clase PrintStream.


PrintStream pertenece a FilterOutputStream, subclase de OutputStream.

System.err tambin se proporciona como una referencia de objeto PrintStream para escribir en un error estndar.

21

Copyright 2004, Oracle. Todos los derechos reservados.

Acerca de OutputStream y PrintStream


OutputStream proporciona operaciones de E/S de byte bsicas:
write(int b) para escribir un byte write(byte[] b) para escribir una matriz de bytes write(byte[] b,int off,int len) para escribir un subjuego de una matriz de bytes flush() y close() para vaciar y cerrar el flujo

PrintStream es una subclase de (Filter)Output Stream, que


Convierte Unicode en codificacin byte de entorno. Termina las lneas de un modo independiente de la plataforma. Vaca el flujo de salida.

22

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Es la Serializacin de Objetos?
La serializacin es un mecanismo de persistencia sencilla para guardar y restaurar flujos de bytes que contengan primitivos y objetos. Una clase indica que sus instancias se pueden serializar:
Mediante la implementacin de la interfaz java.io.Serializable o java.io.Externalizable Asegurando que todos sus campos son serializables, incluidas otras referencias de objeto Mediante el modificador transient para evitar que los campos se guarden y se restauren

23

Copyright 2004, Oracle. Todos los derechos reservados.

Modificadores, Interfaces y Flujos de Serializacin


Ejemplo de implementacin de java.io.Serializable
Marque los campos con el modificador transient para evitar que se guarden; es decir, para proteger la informacin.
import java.io.Serializable; public class Member implements Serializable { private int id; private String name; private transient String password; }


24

Escriba el objeto con java.io.ObjectOutputStream. Lea el objeto con java.io.ObjectInputStream.


Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin ha aprendido a: Crear cadenas en Java Utilizar los mtodos de conversin que proporcionan las clases wrapper predefinidas Utilizar la clase StringBuffer para manipular datos de caracteres Manipular objetos mediante las clases DateFormat, DecimalFormat y MessageFormat

25

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 9: Visin General


Esta prctica cubre: Creacin de una clase Order nueva Relleno y formato de orderDate Formato de valores orderDate existentes con la clase GregorianCalendar Formato de orderTotal

26

Copyright 2004, Oracle. Todos los derechos reservados.

Reutilizacin de Cdigo con Herencia y Polimorfismo

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Definir el concepto de herencia Utilizar la herencia para definir clases nuevas Proporcionar constructores adecuados Sustituir los mtodos de la superclase Describir qu es el polimorfismo Utilizar el polimorfismo de forma eficaz

Copyright 2004, Oracle. Todos los derechos reservados.

Componentes Orientados a Objetos Clave


Herencia Constructores a los que hace referencia la subclase Polimorfismo La herencia como concepto fundamental en la orientacin a objetos
Superclase InventoryItem Subclases Movie Game Vcr

Copyright 2004, Oracle. Todos los derechos reservados.

Ejemplo de Herencia
La clase InventoryItem define mtodos y variables.
InventoryItem

Movie

Movie ampla InventoryItem y puede:


Agregar variables nuevas Agregar mtodos nuevos Sustituir los mtodos de la clase InventoryItem

Copyright 2004, Oracle. Todos los derechos reservados.

Especificacin de la Herencia en Java


La herencia se define especificando qu superclase ampla la subclase.
public class InventoryItem { } public class Movie extends InventoryItem { }

Movie hereda todas las variables y todos los mtodos de InventoryItem. Si falta la palabra clave extends, java.lang.Object es la superclase implcita.
Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de Herencia mediante Oracle JDeveloper 10g


Al especificar una clase, Oracle JDeveloper pide su superclase:

Oracle JDeveloper genera el cdigo automticamente.


Copyright 2004, Oracle. Todos los derechos reservados.

Qu Aspecto Tiene un Objeto de Subclase?


Una subclase hereda todas las variables de instancia de su superclase.
public class InventoryItem { private float price; private String condition; } public class Movie extends InventoryItem { private String title; private int length; }
7 Copyright 2004, Oracle. Todos los derechos reservados.

Movie condicin de precio duracin de pelcula

Inicializacin por Defecto


Qu ocurre cuando se crea un objeto de subclase?
Movie movie1 = new Movie(); Movie condicin de precio duracin de pelcula

Si no se ha definido ningn constructor:


En primer lugar, se llama al constructor no-arg por defecto en la superclase. A continuacin, se llama al constructor no-arg por defecto en la subclase.

Copyright 2004, Oracle. Todos los derechos reservados.

Referencia super
Hace referencia a la clase base de nivel superior. Resulta til para llamar a constructores de clase base. Debe ser la primera lnea del constructor de la clase derivada. Se puede utilizar para llamar a cualquier mtodo de clase base.

Copyright 2004, Oracle. Todos los derechos reservados.

Ejemplo de Referencia super


public class InventoryItem { InventoryItem(String cond) { System.out.println("InventoryItem"); } } class Movie extends InventoryItem { Movie(String title) { Movie(String title, String cond) {super(cond); System.out.println("Movie"); } }
10 Copyright 2004, Oracle. Todos los derechos reservados.

Constructor de clase base

Llama al constructor de la clase base

Uso de Constructores de Superclase


Utilice super() para llamar a un constructor de superclase:
public class InventoryItem { InventoryItem(float p, String cond) { price = p; condition = cond; } public class Movie extends InventoryItem { Movie(String t, float p, String cond) { super(p, cond); title = t; }

11

Copyright 2004, Oracle. Todos los derechos reservados.

Especificacin de Mtodos Adicionales


La superclase define mtodos para todos los tipos de InventoryItem. La subclase puede especificar mtodos adicionales que sean especficos de Movie.
public class InventoryItem { public float calcDeposit() public String calcDateDue() public class Movie extends InventoryItem { public void getTitle() public String getLength()

12

Copyright 2004, Oracle. Todos los derechos reservados.

Sustitucin de Mtodos de Superclase


Una subclase hereda todos los mtodos de su superclase. La subclase puede sustituir un mtodo por su propia versin especializada.
El mtodo de la subclase debe tener la misma firma y la misma semntica que el mtodo de la superclase.
public class InventoryItem { public float calcDeposit(int custId) { if public class Vcr extends InventoryItem { return itemDeposit; public float calcDeposit(int custId) { } if return itemDeposit; }
13 Copyright 2004, Oracle. Todos los derechos reservados.

Llamada a Mtodos de Superclase


Si una subclase sustituye un mtodo, puede seguir llamando al mtodo de superclase original. Utilice super.method() para llamar a un mtodo de superclase desde la subclase.

public class InventoryItem { public float calcDeposit(int custId) { if public class Vcr extends InventoryItem { return 33.00; public float calcDeposit(int custId) { } itemDeposit = super.calcDeposit(custId); return (itemDeposit + vcrDeposit); }

14

Copyright 2004, Oracle. Todos los derechos reservados.

Ejemplo de Polimorfismo en Java

Recuerde que la clase java.lang.Object es la clase raz de todas las clases Java. Los mtodos de la clase Object son heredados por sus subclases. El mtodo toString() se suele sustituir para conseguir el comportamiento polimrfico. Por ejemplo: public class InventoryItem {
public String toString() { return "InventoryItem value"; } } = new InventoryItem(); InventoryItem item System.out.println(item); // toString() called
15 Copyright 2004, Oracle. Todos los derechos reservados.

Trato de una Subclase como su Superclase


Una instancia de objeto Java de una subclase se puede asignar a su definicin de superclase. Puede asignar un objeto de subclase a una referencia declarada en la superclase.
public static void main(String[] args) { InventoryItem item = new Vcr(); double deposit = item.calcDeposit(); }

El compilador trata el objeto mediante su referencia (es decir, en funcin de su definicin de superclase). El entorno de tiempo de ejecucin de JVM crea un objeto de subclase, ejecutando los mtodos de subclase, si se han sustituido.
Copyright 2004, Oracle. Todos los derechos reservados.

16

Examen de Referencias de Superclase mediante Oracle JDeveloper 10g


Oracle JDeveloper facilita el examen del contenido de la superclase.

17

Copyright 2004, Oracle. Todos los derechos reservados.

Acme Video y Polimorfismo


Acme Video empez alquilando solamente vdeos. Acme Video agreg juegos y reproductores de vdeos. Qu ser lo siguiente? El polimorfismo soluciona este problema.

18

Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Polimorfismo para Acme Video


InventoryItem calcDeposit(){} Vcr calcDeposit(){} ShoppingBasket void addItem(InventoryItem item) { // this method is called each time // the clerk scans in a new item float deposit = item.calcDeposit(); } Movie calcDeposit(){}

19

Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Operador instanceof


Puede determinar el tipo verdadero de un objeto mediante un operador instanceof. Una referencia de objeto puede realizar una conversin al tipo correcto, si fuera necesario.
public void aMethod(InventoryItem i) { if (i instanceof Vcr) ((Vcr)i).playTestTape(); }

20

Copyright 2004, Oracle. Todos los derechos reservados.

Limitacin de Mtodos y Clases con final


Puede marcar un mtodo como final para evitar que se sustituya.
public final boolean checkPassword(String p) { }

Puede marcar una clase entera como final para evitar que se ample.
public final class Color { }

21

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Herencia Real


La herencia slo se debe utilizar para relaciones es un tipo de (is-a-kind-of) reales:
Debe ser siempre posible sustituir un objeto de subclase por uno de superclase. Todos los mtodos de la superclase deben tener sentido en la subclase.

El uso de la herencia como solucin a corto plazo provoca problemas en el futuro.

22

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: Una subclase hereda todas las variables y todos los mtodos de su superclase. Puede especificar mtodos y variables adicionales y sustituir los mtodos. Una subclase puede llamar a un mtodo de superclase sustituido mediante super. El polimorfismo garantiza que se llama a la versin adecuada de un mtodo en tiempo de ejecucin.

23

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 10: Visin General


Esta prctica cubre: Definicin de subclases de Customer Utilizacin de constructores de subclase Adicin de mtodos nuevos a las subclases Sustitucin de mtodos de superclase existentes

24

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Matrices y Recopilaciones

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Describir cmo se crean matrices de primitivos y objetos Procesar variables de lnea de comandos Trabajar con vectores Explorar otras recopilaciones Java como, por ejemplo, Enumerators, Iterators, ArrayLists y Hashtables Procesar las propiedades de sistema y de lnea de comandos

Copyright 2004, Oracle. Todos los derechos reservados.

Qu es una Matriz?
Una matriz es una recopilacin de variables del mismo tipo. Cada elemento puede contener un nico elemento. Los elementos pueden ser primitivos o referencias de objeto. La longitud de la matriz se fija durante su creacin.

[0] [1] [2] [3]


3

1 2 4 8

[0] [1] [2]

Accin Comedia Drama

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de una Matriz de Primitivos


1. Declare la matriz:
type[] arrayName; or type arrayName[];

Null
arrayName

arrayName

0 0 0

type es un primitivo, como int, etc.

2. Cree el objeto de matriz:


// Create array object syntax arrayName = new type[size]; arrayName

1 2 4

3. Inicialice los elementos de matriz (opcional).


4 Copyright 2004, Oracle. Todos los derechos reservados.

Declaracin de una Matriz de Primitivos


Cree una variable para hacer referencia al objeto de matriz:
int[] powers; // Example

Cuando se declara una variable de matriz:


Su variable de instancia se inicializa en null hasta que se haya creado el objeto de matriz
powers

null

Su variable de mtodo es desconocida hasta que se cree el objeto


5 Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de un Objeto de Matriz para una Matriz de Primitivos


Cree una matriz de la longitud necesaria y asgnela a la variable de matriz:
int[] powers; // Declare array variable powers = new int[4]; //Create array object

El objeto de matriz se crea mediante el operador new.

El contenido de una matriz de primitivos se inicializa automticamente.


powers 0 0 0 0

Copyright 2004, Oracle. Todos los derechos reservados.

Inicializacin de Elementos de Matriz


Asigne valores a cada elemento:
arrayName[index] = value; powers[0] = 1; powers 1 0 0 0

Cree e inicialice las matrices al mismo tiempo:


type[] arrayName = {valueList}; int[] primes = {2, 3, 5, 7}; primes

[0] [1] [2] [3]

[0] 3 [1] 5 [2] 7 [3]


2

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de una Matriz de Referencias Object


1. Declare la matriz:
ClassName[] arrVar; or ClassName arrVar[]; arrVar arrVar

null null null null

2. Cree el objeto de matriz: arrVar


// Create array object syntax arrVar = new ClassName[size];

Accin Comedia Drama

3. Inicialice los objetos de la matriz.


8 Copyright 2004, Oracle. Todos los derechos reservados.

Inicializacin de Objetos de Matriz


Asigne un valor a cada elemento de la matriz:
// Create an array of four empty Strings String[] arr = new String[4]; for (int i = 0; i < arr.length; i++) { arr[i] = new String(); }

Cree e inicialice la matriz al mismo tiempo:


String[] categories = {"Action", "Comedy", "Drama"};

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de una Matriz de Referencias Object


Cualquier elemento se puede asignar a un objeto del tipo correcto:
String category = categories[0];

Cada elemento se puede tratar como un objeto individual:


System.out.println ("Length is " + categories[2].length());

Un elemento de matriz se puede transferir a cualquier mtodo; los elementos de matriz se transfieren por referencia.
Copyright 2004, Oracle. Todos los derechos reservados.

10

Matrices y Excepciones
ArrayIndexOutOfBoundsException se produce si un ndice de matriz no es vlido:
String[] list = new String[4]; //The following throws ArrayIndexOutOfBoundsException System.out.println(list[4]);

NullPointerException se produce si intenta acceder a un elemento que no se haya inicializado:


Movie[] movieList = new Movie[3]; // The following will throw NullPointerException String director = movieList[0].getDirector();

11

Copyright 2004, Oracle. Todos los derechos reservados.

Matrices Multidimensionales
Java soporta matrices de matrices:
type[][] arrayname = new type[n1][n2]; int[][] mdarr = new int[4][2]; mdarr[0][0] = 1; mdarr[0][1] = 7; mdarr [0] [1] [2] [3]
12 Copyright 2004, Oracle. Todos los derechos reservados.

[0][0]

[0][1]

1 0 0 0

7 0 0 0

Revisin de main()
main() tiene un nico parmetro, args. args es una matriz de objetos String que contiene parmetros de lnea de comandos:
C:\> java SayHello Hello World public class SayHello { public static void main(String[] args) { if (args.length != 2) System.out.println("Specify 2 arguments"); else System.out.println(args[0]+" "+args[1]); }
13 Copyright 2004, Oracle. Todos los derechos reservados.

Trabajo con Estructuras de Longitud Variable


La clase Vector implementa una matriz redimensionable de cualquier tipo de objeto: Creacin de un vector vaco:
Vector members = new Vector();

Creacin de un vector con un tamao inicial:


// Create a vector with 10 elements. The vector // can be expanded later. Vector members = new Vector(10);

14

Copyright 2004, Oracle. Todos los derechos reservados.

Modificacin de un Vector
Adicin de un elemento al final del vector:
String name = MyMovie.getNextName(); members.addElement(name);

Adicin de un elemento en una posicin especfica:


// Insert a string at the beginning members.insertElementAt(name, 0);

Eliminacin del elemento en un ndice especfico:


// Remove the first element members.removeElementAt(0);

15

Copyright 2004, Oracle. Todos los derechos reservados.

Acceso a un Vector
Obtencin del primer elemento:
String s = (String)members.firstElement();

Obtencin de un elemento en una posicin especfica:


String s = (String)members.elementAt(2);

Bsqueda de un objeto en un vector:


int position = members.indexOf(name);

Obtencin del tamao de un vector:


int size = members.size();

16

Copyright 2004, Oracle. Todos los derechos reservados.

Java Collections Framework


Java Collections Framework es una arquitectura de API para la gestin de un grupo de objetos que se pueden manipular independientemente de su implementacin interna. Esta arquitectura: Se encuentra en el paquete java.util. Se define mediante seis interfaces principales y algunas clases de implementacin:

17

Interfaz Collection: Grupo genrico de elementos Interfaz Set: Grupo de elementos nicos Interfaz List: Grupo ordenado de elementos Interfaz Map: Grupo de claves nicas y sus valores SortedSet y SortedMap para Set y Map ordenados
Copyright 2004, Oracle. Todos los derechos reservados.

Componentes de Collections Framework


Collections Framework es un juego de interfaces y clases que se utiliza para almacenar y manipular grupos de datos como una sola unidad. Las interfaces principales son las interfaces que se utilizan para manipular las recopilaciones y para transferirlas de un mtodo a otro. Las implementaciones son los objetos de datos reales que se utilizan para almacenar las recopilaciones, que implementan la interfaz de recopilacin principal. Los algoritmos son partes de funciones reutilizables que proporciona JDK.
18 Copyright 2004, Oracle. Todos los derechos reservados.

Uso de ArrayList y Hashtable


La clase ArrayList: Es una implementacin redimensionable de la interfaz List.

Permite la manipulacin del tamao de la matriz. Tiene una capacidad que aumenta a medida que se agregan elementos a la lista. La clase Hashtable: Es una clase heredada similar a las implementaciones Map. Se utiliza para almacenar objetos arbitrarios indexados por otro objeto arbitrario. Se utiliza normalmente con String como clave para almacenar objetos como valores.
Copyright 2004, Oracle. Todos los derechos reservados.

19

Uso de Iterators
La interfaz Iterator, que es parte de Java Collections Framework, se puede utilizar para procesar una serie de objetos. La interfaz java.util.Iterator: Implementa un enfoque orientado a objetos para acceder a los elementos de una recopilacin Sustituye al enfoque java.util.Enumeration Contiene los siguientes mtodos:
hasNext() devuelve true si existen ms elementos. next() devuelve el siguiente objeto, si hay alguno. remove() elimina el ltimo elemento devuelto.

20

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin ha aprendido a: Crear matrices Java de primitivos Crear matrices de referencias de objeto Inicializar matrices de primitivos o referencias de objeto Procesar argumentos de lnea de comandos en el mtodo main() Utilizar el objeto Vector para implementar matrices redimensionables Utilizar clases ArrayList y Hashtable

21

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 11: Visin General


Esta prctica cubre: Modificacin de la clase DataMan
Creacin de una matriz que contenga los objetos Customer, Company e Individual Adicin de un mtodo para garantizar que la matriz se crea y se inicializa correctamente Adicin de un mtodo para buscar un cliente mediante un valor de identificacin

22

Copyright 2004, Oracle. Todos los derechos reservados.

Estructuracin de Cdigo mediante Interfaces y Clases Abstractas

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Definir clases abstractas Definir mtodos abstractos Definir interfaces Implementar interfaces

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de Clases Abstractas


Una clase abstracta no se puede instanciar. Las subclases deben implementar los mtodos abstractos. Las interfaces soportan la herencia mltiple.

Superclase abstracta

InventoryItem

Subclases concretas

Movie

VCR

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de Clases Abstractas


Utilice la palabra clave abstract para declarar una clase como abstracta.
public abstract class InventoryItem { private float price; public boolean isRentable() }

public class Movie extends InventoryItem { private String title; public int getLength()

public class Vcr extends InventoryItem { private int serialNbr; public void setTimer()

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Son los Mtodos Abstractos?


Un mtodo abstracto:
Es una variable pendiente de implementacin. Forma parte de una clase abstracta. Una subclase concreta lo debe sustituir.

Cada subclase concreta puede implementar el mtodo de un modo distinto.

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de Mtodos Abstractos


Utilice la palabra clave abstract para declarar un mtodo como abstracto:
Proporcione slo la firma del mtodo. La clase tambin debe ser abstracta.

Por qu resulta til?


Declare la estructura de una clase determinada sin proporcionar una implementacin completa de cada mtodo.
public abstract class InventoryItem { public abstract boolean isRentable();

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin y Uso de Interfaces


Una interfaz es como una clase totalmente abstracta:
Todos sus mtodos son abstractos. Todas las variables se declaran como public static final.

Una interfaz enumera un juego de firmas de mtodo sin ningn detalle de cdigo. La clase que implementa la interfaz debe proporcionar detalles de cdigo para todos los mtodos de la interfaz. Una clase puede implementar muchas interfaces, pero slo puede ampliar una clase.

Copyright 2004, Oracle. Todos los derechos reservados.

Ejemplos de Interfaces
Las interfaces describen un aspecto del comportamiento que requieren clases distintas. Por ejemplo, las clases que se pueden direccionar soportan la interfaz direccionable. Las clases pueden no estar relacionadas.

No direccionable
8

Direccionable

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de Interfaces
Utilice la palabra clave interface:
public interface Steerable { int MAXTURN = 45; void turnLeft(int deg); void turnRight(int deg); }

Todos los mtodos se declaran como public abstract. Todas las variables se declaran como public static final.

Copyright 2004, Oracle. Todos los derechos reservados.

Implementacin de Interfaces
Utilice la palabra clave implements:
public class Yacht extends Boat implements Steerable { public void turnLeft(int deg) {} public void turnRight(int deg) {} }

10

Copyright 2004, Oracle. Todos los derechos reservados.

Ordenacin: Ejemplo del Mundo Real


Varias clases no relacionadas la utilizan. Contiene un juego conocido de mtodos. Es necesaria para ordenar cualquier tipo de objeto. Utiliza las reglas de comparacin conocidas slo en el objeto ordenable. Soporta la reutilizacin correcta del cdigo.

11

Copyright 2004, Oracle. Todos los derechos reservados.

Visin General de las Clases


Las crea el experto en ordenacin:
public interface Sortable public abstract class Sort

Las crea el experto en pelculas:


public class Movie implements Sortable public class MyApplication

12

Copyright 2004, Oracle. Todos los derechos reservados.

Cmo Funciona la Ordenacin?


MyApplication sortObjects() devuelve la lista ordenada. MyApplication transfiere una matriz de pelculas a Sort.sortObjects().

Ordenacin La pelcula devuelve el resultado de la comparacin. 3 Movie 2 sortObjects() pide una pelcula para compararla con otra.

13

Copyright 2004, Oracle. Todos los derechos reservados.

Interfaz Sortable
Especifica el mtodo compare():
public interface Sortable { // compare(): Compare this object to another object // Returns: // 0 if this object is equal to obj2 // a value < 0 if this object < obj2 // a value > 0 if this object > obj2 int compare(Object obj2); }

14

Copyright 2004, Oracle. Todos los derechos reservados.

Clase Sort
Contiene el mtodo sortObjects():
public abstract class Sort { public static void sortObjects(Sortable[] items) { // Step through the array comparing and swapping; // do this length-1 times for (int i = 1; i < items.length; i++) { for (int j = 0; j < items.length - 1; j++) { if (items[j].compare(items[j+1]) > 0) { Sortable tempitem = items[j+1]; items[j+1] = items[j]; items[j] = tempitem; } } } } }

15

Copyright 2004, Oracle. Todos los derechos reservados.

Clase Movie
Implementa la interfaz Sortable:
public class Movie extends InventoryItem implements Sortable { String title; public int compare(Object movie2) { String title1 = this.title; String title2 = ((Movie)movie2).getTitle(); return(title1.compareTo(title2)); } }

16

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Ordenacin
Llame a Sort.sortObjects(Sortable []) con una matriz de Movie como argumento:
class myApplication { Movie[] movielist; // build the array of Movie Sort.sortObjects(movielist); }

17

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de instanceof con Interfaces


Utilice el operador instanceof para determinar si un objeto implementa una interfaz. Utilice la conversin a tipos ms cortos para llamar a mtodos que estn definidos en la interfaz:
public void aMethod(Object obj) { if (obj instanceof Sortable) ((Sortable)obj).compare(obj2); }

18

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: Una clase abstracta no se puede instanciar. Un mtodo abstracto tiene una firma pero no cdigo. Una interfaz es una recopilacin de mtodos abstractos que se van a implementar en otro lugar. Una clase puede implementar muchas interfaces. La implementacin de varias interfaces es comparable a la herencia mltiple.

19

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 12: Visin General


Esta prctica cubre: Creacin de una interfaz y una clase abstracta Implementacin de la interfaz java.lang.Comparable para ordenar objetos Prueba de las clases de interfaz y de las clases abstractas

20

Copyright 2004, Oracle. Todos los derechos reservados.

Devolucin y Obtencin de Excepciones

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Explicar los conceptos bsicos del manejo de excepciones Escribir cdigo para obtener y manejar excepciones Escribir cdigo para devolver excepciones Crear excepciones propias

Copyright 2004, Oracle. Todos los derechos reservados.

Qu es una Excepcin?
Una excepcin es un evento inesperado.

Copyright 2004, Oracle. Todos los derechos reservados.

Cmo Maneja Java las Excepciones?


Un mtodo devuelve una excepcin. Un manejador obtiene la excepcin.

Objeto Exception

Hay algn manejador para esta excepcin?

No

Copyright 2004, Oracle. Todos los derechos reservados.

Ventajas de las Excepciones Java: Separacin del Cdigo de Gestin de Errores


En la programacin tradicional, la gestin de errores normalmente provoca que el cdigo sea ms difcil de leer. Java separa los detalles de la gestin de errores inesperados del trabajo principal del programa. La lectura del cdigo resultante es ms clara y, por lo tanto, no induce a bugs.

Copyright 2004, Oracle. Todos los derechos reservados.

Ventajas de las Excepciones Java: Transferencia de Errores hasta la Pila de Llamadas


Gestin de errores tradicional
method1 //handle error method2 method3 method4

Excepciones Java
Method1 //handle ex method2 method3 method4 method4 devuelve una excepcin; finalmente, method1 la obtiene.

Cdigo de error Cdigo de error Cdigo de error

Excepcin ex

Cada mtodo comprueba los errores y devuelve un cdigo de error a su mtodo de llamada.
6

Copyright 2004, Oracle. Todos los derechos reservados.

Ventajas de las Excepciones Java: Las Excepciones No se Pueden Ignorar


Gestin de errores tradicional
method1 //handle error method2 method3 method4

Excepciones Java
method1 //handle ex method2 method3 method4 La excepcin se debe obtener y manejar en algn lugar.

Excepcin ex

Cdigo de error

Si method3 ignora el error, no se gestionar nunca.


7

Copyright 2004, Oracle. Todos los derechos reservados.

Excepciones Activadas, Excepciones No Activadas y Errores


Todos los errores y todas las excepciones amplan la clase Throwable.
Throwable

Error

Exception

Errores irrecuperables

Excepciones activadas

RuntimeException

Excepciones no activadas (de tiempo de ejecucin)


8 Copyright 2004, Oracle. Todos los derechos reservados.

Qu se Debe Hacer con una Excepcin?


Obtenga la excepcin y manjela. Permita que la excepcin se transfiera al mtodo de llamada. Obtenga la excepcin y devuelva otra distinta.

Copyright 2004, Oracle. Todos los derechos reservados.

Obtencin y Manejo de Excepciones


Introduzca la llamada al mtodo en un bloque try. Maneje cada una de las excepciones en un bloque catch. Realice cualquier procesamiento final en un bloque finally.

try { // call the method } catch (exception1) { // handle exception1 } catch (exception2) { // handle exception2 } finally { // any final processing }

10

Copyright 2004, Oracle. Todos los derechos reservados.

Obtencin de una nica Excepcin

int qty; String s = getQtyFromForm(); try { // Might throw NumberFormatException qty = Integer.parseInt(s); } catch ( NumberFormatException e ) { // Handle the exception } // If no exceptions were thrown, we end up here

11

Copyright 2004, Oracle. Todos los derechos reservados.

Obtencin de Varias Excepciones


try { // Might throw MalformedURLException URL u = new URL(str); // Might throw IOException URLConnection c = u.openConnection(); } catch (MalformedURLException e) { System.err.println("Could not open URL: " + e); } catch (IOException e) { System.err.println("Could not connect: " + e); }

12

Copyright 2004, Oracle. Todos los derechos reservados.

Limpieza con un Bloque finally


FileInputStream f = null; try { f = new FileInputStream(filePath); while (f.read() != -1) charcount++; } catch(IOException e) { System.out.println("Error accessing file " + e); } finally { // This block is always executed f.close(); }

13

Copyright 2004, Oracle. Todos los derechos reservados.

Obtencin y Manejo de Excepciones: Prctica Guiada


void makeConnection(String url) { try { URL u = new URL(url); } catch (MalformedURLException e) { System.out.println("Invalid URL: " + url); return; } finally { System.out.println("Finally block"); } System.out.println("Exiting makeConnection"); }

14

Copyright 2004, Oracle. Todos los derechos reservados.

Obtencin y Manejo de Excepciones: Prctica Guiada


void myMethod () { try { getSomething(); } catch (IndexOutOfBoundsException e1) { System.out.println("Caught IOBException "); } catch (Exception e2) { System.out.println("Caught Exception "); } finally { System.out.println("No more exceptions "); } System.out.println("Goodbye"); }

15

Copyright 2004, Oracle. Todos los derechos reservados.

Transferencia de una Excepcin al Mtodo de Llamada


Utilice throws en la declaracin del mtodo. La excepcin se propaga al mtodo de llamada.
public int myMethod() throws exception1 { // code that might throw exception1 } public URL changeURL(URL oldURL) throws MalformedURLException { return new URL("http://www.oracle.com"); }

16

Copyright 2004, Oracle. Todos los derechos reservados.

Devolucin de Excepciones
Devuelva las excepciones mediante la palabra clave throw. Utilice throws en la declaracin del mtodo.
throw new Exception1(); public String getValue(int index) throws IndexOutOfBoundsException { if (index < 0 || index >= values.length) { throw new IndexOutOfBoundsException(); } }

17

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de Excepciones
Ample la clase Exception.
public class MyException extends Exception { } public class UserFileException extends Exception { public UserFileException (String message) { super(message); } }

18

Copyright 2004, Oracle. Todos los derechos reservados.

Obtencin de una Excepcin y Devolucin de Otra Distinta


catch (excepcin1 e) { throw new exception2(); } void readUserFile() throws UserFileException { try { // code to open and read userfile } catch(IOException e) { throw new UserFileException(e.toString()); } }

19

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido a: Utilizar las excepciones Java para la gestin slida de errores Manejar excepciones mediante try, catch y finally Utilizar la palabra clave throw para devolver una excepcin Utilizar un mtodo para declarar una excepcin en su firma para transferirla hasta la pila de llamadas

20

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 13: Visin General


Esta prctica cubre: Creacin de una excepcin personalizada Cambio de los mtodos de bsqueda de DataMan para devolver excepciones Manejo de las excepciones al llamar a los mtodos de bsqueda de DataMan Prueba de los cambios realizados en el cdigo

21

Copyright 2004, Oracle. Todos los derechos reservados.

Diseo de Interfaz de Usuario: Conceptos Bsicos de Swing para la Planificacin del Diseo de la Aplicacin

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Explicar AWT (Abstract Window Toolkit), Swing y JFC (Java Foundation Classes) Detallar la jerarqua de contencin UI de Swing Describir cmo se utilizan los gestores de diseos Agregar contenedores UI a una aplicacin para agrupar componentes Embeber componentes UI en contenedores UI Utilizar el Look and Feel conectable de Swing

Copyright 2004, Oracle. Todos los derechos reservados.

Ejecucin de Aplicaciones UI Java

Copyright 2004, Oracle. Todos los derechos reservados.

AWT, Swing y JFC


AWT o Abstract Window Toolkit (java.awt):
Biblioteca de interfaz grfica de usuario Predecesor de los componentes Swing y base de Swing y JFC

Swing (javax.swing):
Biblioteca de interfaz grfica de usuario ms potente Creado sobre la jerarqua de clases AWT

JFC (Java Foundation Classes):


Recopilacin de API, incluidos AWT, Swing, API Accessibility, Look and Feel Conectable API 2D de Java, soporte para arrastrar y soltar (a partir de JDK 1.2)

Copyright 2004, Oracle. Todos los derechos reservados.

Funciones Swing
Es un juego de componentes visuales disponible a partir de JDK 1.1, pero forma parte del paquete principal de JDK a partir de la versin 1.2: Componentes sencillos en comparacin con AWT API Look and Feel conectable InventoryItem Muchos ms componentes que AWT

JButton

JSlider

JTree

JComboBox
5

JTextField

JProgressBar

Copyright 2004, Oracle. Todos los derechos reservados.

Componentes Sencillos o Complejos?


Componentes complejos Dependencia fuerte de cdigo peer nativo. Cada uno se presenta en su propia ventana opaca. Casi todos los primeros componentes AWT eran complejos. Incluyen algunos componentes de nivel superior Swing (JFrame, JApplet, JDialog). Componentes sencillos Independencia de cdigo peer nativo. Pueden tener fondos transparentes. Casi todos los componentes Swing son sencillos. Cuando se muestran, su forma puede ser no rectangular. Se deben visualizar en un contenedor complejo.

Copyright 2004, Oracle. Todos los derechos reservados.

Planificacin del Diseo de UI


La creacin de una aplicacin UI implica una planificacin, especialmente al crear aplicaciones Swing. La planificacin requiere la comprensin de los siguientes conceptos y de la relacin entre ellos: Jerarqua de contencin de UI (componente raz que incluye componentes y contenedores anidados) Tipos y niveles de contenedores (por ejemplo, contenedores intermedios o de nivel superior) Gestores de diseos y sus tipos (utilizados por cada contenedor) Los componentes que se pueden agregar a los contenedores
7 Copyright 2004, Oracle. Todos los derechos reservados.

Jerarqua de Contencin
Contenedores de nivel superior
Marco Dilogo Applet

Marco

Contenedores intermedios
Panel Panel de desplazamiento

Componentes atmicos
Etiqueta Elementos de texto Botones
Panel Componentes atmicos

Copyright 2004, Oracle. Todos los derechos reservados.

Contenedores de Nivel Superior


Swing proporciona JFrame, JDialog o JApplet con propiedades modificables como, por ejemplo:
Un panel de contenido para componentes o contenedores intermedios, mediante los mtodos getContentPane() o setContentPane() Un borde, mediante un mtodo setBorder() Un ttulo, mediante un mtodo setTitle() Decoraciones de ventana como, por ejemplo, botones para cerrar y minimizar (se excluyen los applets)

AWT proporciona Frame, Dialog o Applet.


Estos elementos no proporcionan propiedades (como, por ejemplo, bordes o un panel de contenido).

Copyright 2004, Oracle. Todos los derechos reservados.

Contenedores Intermedios
Diseados para contener componentes (o contenedores): Se pueden anidar dentro de otros contenedores Tipos de contenedores intermedios:
Paneles para agrupar contenedores o componentes Paneles de desplazamiento para agregar barras de desplazamiento en componentes que pueden aumentar como, por ejemplo, una lista o un rea de texto Paneles de divisin para visualizar dos componentes en un rea fija, que puede ajustar el usuario Paneles de separador para contener varios componentes, mostrando slo uno a la vez, segn la seleccin del usuario Barras de herramientas para agrupar componentes como, por ejemplo, botones Marcos internos para ventanas anidadas
10 Copyright 2004, Oracle. Todos los derechos reservados.

Componentes Atmicos
Botones Casillas de control Recuadros combinados Texto Listas Etiquetas

11

Copyright 2004, Oracle. Todos los derechos reservados.

Visin General de la Gestin del Diseo

12

Copyright 2004, Oracle. Todos los derechos reservados.

Diseo Border
Tiene cinco reas: North, South, West, East y Center. El rea Center se ampla hasta rellenar todo el espacio disponible. Muestra un solo componente en cada rea. Hace que las reas sean tiles para contener paneles intermedios.

13

Copyright 2004, Oracle. Todos los derechos reservados.

Diseo GridBag
Se basa en una cuadrcula. Permite que los componentes abarquen varias filas y varias columnas. Permite tamaos diferentes de las filas y de las columnas. Utiliza el tamao preferido del componente para controlar el tamao de celda.

14

Copyright 2004, Oracle. Todos los derechos reservados.

Restricciones de GridBag

Recuadros externos Relleno de componente

Posicin de celda Ampliacin de celda Peso de expansin

Fijacin

Reglas de relleno

15

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Gestores de Diseos


El objetivo de los gestores de diseos es gestionar varios componentes al mismo tiempo. El uso de un gestor de diseos con contenedores requiere:
Crear un contenedor y un objeto de gestor de diseos Definir la propiedad de diseo del contenedor Agregar elementos (componentes u otros contenedores) a las regiones que define el gestor de diseos

Los gestores de diseos diferentes requieren argumentos diferentes para controlar la ubicacin del componente.
Copyright 2004, Oracle. Todos los derechos reservados.

16

Combinacin de Gestores de Diseos

Border null

VerticalFlow GridBag

Grid

17

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Marcos o Recuadros de Dilogo


Un marco Java es equivalente a una ventana de aplicacin. Utilice JFrame para una ventana principal
Tiene propiedades para los iconos, el ttulo y las decoraciones de ventana para los botones de minimizar, maximizar y cerrar. Utiliza por defecto BorderLayout. Proporciona un panel de contenido por defecto que ocupa la regin central del diseo. Puede definir el tamao del marco con el mtodo setSize() y hacer que sea visible mediante el mtodo setVisible().

Utilice JDialog para una ventana modal


Debe desactivar la ventana modal para que se pueda activar la aplicacin que la llama.

18

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Contenedores JPanel


JPanel es un contenedor de uso general. Puede utilizar cualquier gestor de diseos (utiliza por defecto Flowlayout). Puede utilizar cualquier borde. Puede tener componentes agregados u otros paneles/contenedores mediante el mtodo add().

JPanel myPanel = new JPanel(new BorderLayout()); JTextArea jTextArea1 = new JTextArea(); myPanel.setBorder(BorderFactory.createRaisedBevelBorder()); myPanel.add(jTextArea1, BorderLayout.SOUTH);

19

Copyright 2004, Oracle. Todos los derechos reservados.

Adicin de Bordes a Componentes


Los bordes son objetos Swing.
Se definen en javax.swing.borders.

Utilice setBorder() para asignar un borde a un componente. Cree bordes con la clase javax.swing.BorderFactory. Cree los bordes por separado para utilizarlos con muchos componentes.

jPanel1.setBorder(BorderFactory.createBevelBorder( BevelBorder.LOWERED,Color.lightGray,Color.darkGray)); Border etchedBorder = BorderFactory.createEtchedBorder();//pre-create border jPanel2.setBorder(etchedBorder); // use border`

20

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Marcos Internos


Un marco interno es el equivalente a una ventana de documento contenida dentro de una ventana de aplicacin para aplicaciones de ventanas MDI (interfaz de varios documentos). Utilice JInternalFrame para una ventana interna:

De forma similar a JFrame, puede contener componentes y contenedores intermedios y utilizar un gestor de diseos. Por defecto, no se puede cerrar, minimizar, ni maximizar y no es visible.

Utilice JDesktopPane como panel de contenido en el que se agregan los marcos internos:
Controla el tamao y la ubicacin de los marcos internos. Utiliza un gestor de diseos null por defecto.

21

Copyright 2004, Oracle. Todos los derechos reservados.

Controles de Texto Swing

22

Copyright 2004, Oracle. Todos los derechos reservados.

Adicin de Componentes con Oracle JDeveloper 10g


Utilice el asistente para crear un JFrame. Seleccione un gestor de diseos. Agregue componentes desde la paleta de componentes. Ajuste las propiedades de componente.

23

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de un Marco

Marco

24

Copyright 2004, Oracle. Todos los derechos reservados.

Adicin de Componentes
Utilice la paleta de componentes para agregar elementos de Swing al marco

25

Copyright 2004, Oracle. Todos los derechos reservados.

Definicin del Look and Feel Conectable


Las aplicaciones Swing proporcionan soporte para adaptar un aspecto diferente al entorno visual del sistema operativo. El aspecto: Es especfico de la aplicacin:
Se puede inicializar al iniciar la aplicacin. Puede cambiar dinmicamente.

Afecta a los componentes Swing sencillos. Soporta Win, Mac, Java (Metal) y Motif. Utiliza la clase javax.swing.UIManager.
Proporciona el mtodo setLookAndFeel(), que acepta una cadena de nombre de clase de aspecto.

26

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: Los marcos son contenedores de nivel superior. Los paneles son contenedores intermedios que se pueden anidar. Cada contenedor puede tener su propio gestor de diseos. Los gestores de diseos controlan la ubicacin del componente. Puede combinar gestores de diseos dentro de una aplicacin. Puede controlar el aspecto de la aplicacin.

27

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 14: Visin General


Esta prctica cubre: Creacin de una clase basada en JFrame para la ventana principal de la aplicacin OrderEntry.
Agregue una barra de estado y un men por defecto. Agregue un objeto JDesktopPane y defnalo como panel de contenido.

Creacin de una clase basada en JInternalFrame para gestionar la creacin de pedidos y la introduccin de datos.
Cree la estructura jerrquica de diseo de contenedor para los componentes de marco de registro de pedidos. Agregue algunos componentes a este marco.

Definicin de gestores de diseos para cada contenedor


Copyright 2004, Oracle. Todos los derechos reservados.

28

Adicin de Componentes de Interfaz de Usuario y Manejo de Eventos

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Agregar componentes Swing a una aplicacin Obtener y modificar el contenido de los componentes Proporcionar manejadores para tipos comunes de eventos Crear una barra de mens

Copyright 2004, Oracle. Todos los derechos reservados.

Componentes Swing
Controles de texto
JTextField JPasswordField JTextArea JEditorPane JTextPane

Controles grficos
JTree JTable JToggleButton

Copyright 2004, Oracle. Todos los derechos reservados.

Componentes Swing en Oracle JDeveloper


Utilice la paleta de componentes Swing para agregar elementos.

Copyright 2004, Oracle. Todos los derechos reservados.

Llamada al Editor de UI
Haga clic con el botn derecho del mouse y seleccione Open en el men contextual.

Navegador del Sistema


5

Editor de Cdigos Men contextual

Copyright 2004, Oracle. Todos los derechos reservados.

Adicin de un Componente a una Pantalla


1: Abra la paleta de componentes; seleccione la categora Swing.

2: Arrastre el componente a la pantalla. La clase se actualiza automticamente.

Copyright 2004, Oracle. Todos los derechos reservados.

Edicin de las Propiedades de un Componente

Cambio de valores de propiedad en el inspector


7 Copyright 2004, Oracle. Todos los derechos reservados.

Cdigo Generado por JDeveloper


Por ejemplo: Adicin de un JButton a un objeto JFrame:
import javax.swing.JButton; public class JFrame1 extends JFrame { JButton jButton1 = new JButton(); ... public void jbInit() throws Exception { ... jbutton1.setText("jButton1"); ... this.getContentPane().add(jButton1, new XYConstraints(21, 20, 118, 48)); }

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de un Men
Seleccione Create Menu Bar durante la creacin de la aplicacin. Agregue un objeto JMenuBar desde la paleta de componentes. Oracle JDeveloper crea:
JMenuBar para un contenedor visual de mens Jmenu, que representa un men de opciones, agregado a una barra de mens JmenuItems, que se colocan en un objeto JMenu

Cada objeto JMenuItem soporta eventos, interfaces y mtodos de manejador de la misma forma que otros componentes UI de Swing. Un objeto JMenuBar se puede agregar a cualquier contenedor de nivel superior como, por ejemplo, marcos, recuadros de dilogo o applets.
Copyright 2004, Oracle. Todos los derechos reservados.

Uso del Editor de Mens de Oracle JDeveloper


En el editor de mens de Oracle JDeveloper, utilice el panel de estructura:
Ample el nodo Menu. Haga clic en el objeto de la barra de mens para obtener una representacin visual. Haga clic con el botn derecho del mouse en el men o en las opciones de men para modificar la estructura desde las opciones del men contextual.

Haga clic en el objeto de la barra de mens en el panel Structure para mostrar la barra de mens

Men contextual al hacer clic con el botn derecho del mouse en una opcin de men

10

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 15-1: Visin General


Esta prctica cubre: Creacin del men OrderEntryMDIFrame Adicin de las opciones de men y un separador al men Order Adicin de componentes a OrderEntryFrame para formar su estructura visual

11

Copyright 2004, Oracle. Todos los derechos reservados.

UI para Aplicacin Java

12

Copyright 2004, Oracle. Todos los derechos reservados.

Modelo de Manejo de Eventos Java


Funcionamiento:
El evento se origina desde el origen y genera un objeto de evento. Un listener de evento recibe un evento especfico. Un manejador de eventos determina lo que se debe hacer.

Configuracin:
1. Cree un objeto de origen de evento. 2. Cree un objeto de listener de evento que implemente una interfaz con mtodos para manejar el objeto de evento. 3. Escriba un mtodo especfico del evento para manejarlo. 4. Registre el objeto de listener con el origen de evento para el evento especificado.

13

Copyright 2004, Oracle. Todos los derechos reservados.

Conceptos Bsicos de Cdigo de Manejo de Eventos


Cree el origen de evento.
Jbutton findBtn = new Jbutton("Find");

Cree el listener de evento que implementa la interfaz de evento necesaria.


class MyListener implements ActionListener { public void actionPerformed(ActionEvent e) { // handler logic } }

Registre el listener con el origen de evento.


findBtn.addActionListener(new MyListener());

14

Copyright 2004, Oracle. Todos los derechos reservados.

Proceso de Manejo de Eventos: Registro

Origen OK

Objeto de listener de evento Mtodo de manejador

MyListener actionListenerObj = new MyListener(); public void jbInit() { button1.addActionListener(actionListenerObj); }

15

Copyright 2004, Oracle. Todos los derechos reservados.

Proceso de Manejo de Eventos: Se Produce el Evento


Origen OK

Objeto de listener de evento Notificacin Mtodo de manejador

public void jbInit() { button1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Your code to handle the ActionEvent } }); }

16

Copyright 2004, Oracle. Todos los derechos reservados.

Proceso de Manejo de Eventos: Ejecucin del Manejador de Eventos


Origen OK

Objeto de listener de evento Mtodo de manejador: guardar cambios y salir

17

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de Clases de Adaptador para Listeners


Las clases de adaptador resultan tiles para implementar la interfaz de listener de evento: Proporcionan implementaciones de mtodo vacas. Se amplan y se puede sustituir el mtodo deseado.
interface MouseListener { // Declares five methods } class MouseAdapter implements MouseListener { // Empty implementations of all five methods } public class MyListener extends MouseAdapter { // Override only the methods you need }
18 Copyright 2004, Oracle. Todos los derechos reservados.

Arquitectura Modelo/Vista/Controlador de Swing


Principios de Modelo, Vista, Controlador
Evento
modifica

Controlador

Vista Vista

modifica

Notificacin de actualizacin

Modelo

Explicacin de los trminos:

Obtencin de datos cambiados

El modelo representa los datos o la informacin. La vista proporciona una representacin visual de los datos. El controlador maneja los eventos modificando la vista o el modelo.

Actualice siempre los componentes Swing en la cola de thread de evento o utilice los mtodos SwingUtilities.
Copyright 2004, Oracle. Todos los derechos reservados.

19

Mtodos de Componente de Texto Bsicos


Mtodos de elemento de texto (JLabel, JTextField y JButton):
void setText(String value) String getText()

Mtodos adicionales de JTextArea:


void append(String value) void insert(String value, int pos)

Los cambios en el contenido del componente normalmente se realizan en el thread de manejo de eventos. Nota: Consulte la documentacin de API Java para obtener informacin detallada sobre las capacidades de cada componente.
20 Copyright 2004, Oracle. Todos los derechos reservados.

Mtodos de Componente JList Bsicos

El subjuego de mtodos de componente JList incluye: void setListData(Vector)


Copia Vector en un objeto ListModel aplicado con un mtodo setModel.

void setModel(ListModel)
Define el modelo que representa los datos y borra la seleccin. Utiliza la clase DefaultListModel para el modelo.

Object getSelectedValue() int getSelectedIndex()

Devuelve el objeto seleccionado o null si no se ha seleccionado nada. Devuelve el ndice del elemento seleccionado o 1 si no se ha seleccionado nada.

21

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Eventos Puede Generar un Componente?


Eventos que puede generar un componente

Mtodos del manejador de eventos


22 Copyright 2004, Oracle. Todos los derechos reservados.

Definicin de un Manejador de Eventos en Oracle JDeveloper


1: Seleccione el evento que desea manejar.

2: Haga clic en la columna derecha para rellenar un nombre de mtodo. 3: Haga clic dos veces en la columna derecha para crear el mtodo.

23

Copyright 2004, Oracle. Todos los derechos reservados.

Estilo de Cdigo de Manejo de Eventos por Defecto Generado por Oracle JDeveloper
public void jbInit() throws Exception { Find findButton.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { findButton_actionPerformed(e); } }); void findButton_actionPerformed(ActionEvent e) { // Your code to handle the ActionEvent }
24 Copyright 2004, Oracle. Todos los derechos reservados.

Terminacin del Mtodo de Manejador de Eventos

public class JFrame1 extends JFrame { void findButton_actionPerformed(ActionEvent e){ // When the user clicks the button, display // the list of customers in jTextArea1 String findList = (Supplies-R-Us " + "\n" + Consulting Inc. " + "\n" + Just-In-Time Training "); jTextArea1.setText(findList); } }

25

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin ha aprendido a: Agregar un componente Swing a un contenedor visual Obtener y modificar el contenido de los componentes Utilizar el modelo de manejo de eventos AWT para:
Crear un origen de evento Crear un listener de evento y cdigo de manejador Registrar un listener para el evento que va a manejar

Crear una barra de mens con mens y opciones de men Manejar eventos

26

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 15-2: Visin General


Esta prctica cubre la adicin de manejo de eventos para: Men Order > New Botn Find Customer Botn Add Product

27

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de JDBC para Acceder a la Base de Datos

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Describir cmo se conectan las aplicaciones Java a la base de datos Describir cmo la base de datos Oracle soporta la funcionalidad de base de datos Java Cargar y registrar un controlador JDBC Conectarse a una base de datos Oracle Seguir los pasos para ejecutar una sentencia SELECT sencilla Asignar tipos de bases de datos Oracle simples a tipos Java

Copyright 2004, Oracle. Todos los derechos reservados.

Java, J2EE y Oracle 10g


Cliente Servidor Web Presentacin Servidor de aplicaciones Lgica de negocio Datos

Oracle Application Server 10g Entorno Certificado J2EE JDBC

Base de datos Oracle

Copyright 2004, Oracle. Todos los derechos reservados.

Conexin a una Base de Datos con Java


Las aplicaciones cliente, las JSP y los servlets utilizan JDBC.

Aplicacin cliente o applet

JDBC

Base de datos relacional

Copyright 2004, Oracle. Todos los derechos reservados.

Qu Es JDBC?
JDBC es una interfaz estndar para conectarse a bases de datos relacionales desde Java.
La API JDBC incluye el paquete de API principal en java.sql. La API JDBC 2.0 incluye la API del paquete opcional en javax.sql. La API JDBC 3.0 incluye la API principal y la API del paquete opcional.

Incluye el archivo del controlador JDBC de Oracle en CLASSPATH. La biblioteca de clases JDBC forma parte de J2SE (Java 2, Standard Edition).
Copyright 2004, Oracle. Todos los derechos reservados.

Preparacin del Entorno


Defina CLASSPATH:
[Oracle Home]\jdbc\lib\classes12.jar

Importe los paquetes JDBC:


// Paquetes estndar import java.sql.*; import java.math.*; // optional // Extensin Oracle a paquetes JDBC import oracle.jdbc.*; import oracle.sql.*;

Copyright 2004, Oracle. Todos los derechos reservados.

Pasos para el Uso de JDBC a fin de Ejecutar Sentencias SQL


1. Registrar el controlador JDBC. 2. Obtener una conexin. 3. Crear un objeto de sentencia. 4. Ejecutar una sentencia SQL.

4a. Procesar la sentencia SELECT.

4b. Procesar la sentencia DML o DDL.

5. Procesar los resultados de la consulta.

6. Cerrar las conexiones.

Copyright 2004, Oracle. Todos los derechos reservados.

Paso 1: Registro del Controlador


Registre el controlador en el cdigo:
DriverManager.registerDriver (new oracle.jdbc.OracleDriver()); Class.forName ("oracle.jdbc.OracleDriver");

Registre el controlador al iniciar la clase:


java D jdbc.drivers = oracle.jdbc.OracleDriver <ClassName>;

Copyright 2004, Oracle. Todos los derechos reservados.

Conexin a la Base de Datos


Mediante el paquete oracle.jdbc.driver, Oracle proporciona diferentes controladores para establecer una conexin con la base de datos.
Llamadas JDBC Controlador de Comandos Oracle de base de datos Cliente fino OCI Basado en servidor

Base de datos

Copyright 2004, Oracle. Todos los derechos reservados.

Controladores JDBC de Oracle: Controlador Fino de Cliente


Est escrito completamente en Java Deben utilizarlo los applets

Applet JDBC Controlador fino Cliente Oracle Servidor

10

Copyright 2004, Oracle. Todos los derechos reservados.

Controladores JDBC de Oracle: Controladores OCI de Cliente


Est escrito en C y Java Debe estar instalado en el cliente
Aplicacin JDBC Controlador OCI ocixxx.dll Cliente Oracle Servidor

11

Copyright 2004, Oracle. Todos los derechos reservados.

Seleccin del Controlador Correcto

Tipo de Programa Applet Aplicacin cliente EJB, servlet (en la capa media) Procedimiento almacenado

Controlador Fino Fino Fino OCI Del servidor OCI

12

Copyright 2004, Oracle. Todos los derechos reservados.

Paso 2: Obtencin de una Conexin a la Base de Datos


En JDBC 1.0, utilice la clase DriverManager, que proporciona mtodos getConnection() sobrecargados.
Todos los mtodos de conexin requieren una direccin URL de JDBC para especificar los detalles de la conexin.

Ejemplo:
Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@myhost:1521:ORCL", "scott","tiger");

13

Los proveedores pueden proporcionar distintos tipos de controladores JDBC.


Copyright 2004, Oracle. Todos los derechos reservados.

Acerca de las Direcciones URL de JDBC


JDBC utiliza una cadena similar a una direccin URL. La direccin URL identifica
El controlador JDBC que se debe utilizar para la conexin Detalles de la conexin a la base de datos, que varan en funcin del controlador utilizado
jdbc:<subprotocol>:<subname> Protocolo Identificacin de base de datos

jdbc:oracle:<driver>:@<database>

14

Ejemplo del uso del controlador JDBC fino de Oracle:


jdbc:oracle:thin:@myhost:1521:ORCL
Copyright 2004, Oracle. Todos los derechos reservados.

Direcciones URL de JDBC con Controladores Oracle


Controlador fino de Oracle
Syntax: jdbc:oracle:thin:@<host>:<port>:<SID> Example: "jdbc:oracle:thin:@myhost:1521:orcl"

Controlador OCI de Oracle


Syntax: jdbc:oracle:oci:@<tnsname entry> Example: "jdbc:oracle:oci:@orcl"

15

Copyright 2004, Oracle. Todos los derechos reservados.

Paso 3: Creacin de una Sentencia


Los objetos Statement de JDBC se crean desde la instancia Connection: Utilice el mtodo createStatement(), que proporciona un contexto para ejecutar una sentencia SQL. Ejemplo:
Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@myhost:1521:ORCL", "scott","tiger"); Statement stmt = conn.createStatement();

16

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de la Interfaz Statement


La interfaz Statement proporciona tres mtodos para ejecutar sentencias SQL: Utilice executeQuery(String sql)para sentencias SELECT.
Devuelve un objeto ResultSet para procesar filas

Utilice executeUpdate(String sql) para DML o DDL.


Devuelve un int

Utilice execute(String) para cualquier sentencia SQL.


Devuelve un valor boolean

17

Copyright 2004, Oracle. Todos los derechos reservados.

Paso 4a: Ejecucin de una Consulta


Proporcione una cadena de consulta SQL, sin punto y coma, como argumento para el mtodo executeQuery(). Devuelve un objeto ResultSet:
Statement stmt = null; ResultSet rset = null; stmt = conn.createStatement(); rset = stmt.executeQuery ("SELECT ename FROM emp");

18

Copyright 2004, Oracle. Todos los derechos reservados.

El Objeto ResultSet
El controlador JDBC devuelve los resultados de una consulta en un objeto ResultSet. ResultSet:
Mantiene un cursor apuntando a su fila de datos actual Proporciona mtodos para recuperar valores de columna

19

Copyright 2004, Oracle. Todos los derechos reservados.

Paso 4b: Ejecucin de Sentencias DML


1. Cree un objeto Statement vaco:
Statement stmt = conn.createStatement();

2. Utilice executeUpdate para ejecutar la sentencia:


int count = stmt.executeUpdate(SQLDMLstatement);

Ejemplo:
Statement stmt = conn.createStatement(); int rowcount = stmt.executeUpdate ("DELETE FROM order_items WHERE order_id = 2354");
20 Copyright 2004, Oracle. Todos los derechos reservados.

Paso 4b: Ejecucin de Sentencias DDL


1. Cree un objeto Statement vaco:
Statement stmt = conn.createStatement();

2. Utilice executeUpdate para ejecutar la sentencia:


int count = stmt.executeUpdate(SQLDDLstatement);

Ejemplo:
Statement stmt = conn.createStatement(); int rowcount = stmt.executeUpdate ("CREATE TABLE temp (col1 NUMBER(5,2), col2 VARCHAR2(30)");
21 Copyright 2004, Oracle. Todos los derechos reservados.

Paso 5: Procesamiento de los Resultados de la Consulta


El mtodo executeQuery() devuelve un juego de resultados. Utilice el mtodo next() en bucle para iterar a travs de las filas. Utilice los mtodos getXXX() para obtener valores de columna por posicin de la columna en la consulta o por el nombre de columna.
stmt = conn.createStatement(); rset = stmt.executeQuery( "SELECT ename FROM emp"); while (rset.next()) { System.out.println (rset.getString("ename")); }
22 Copyright 2004, Oracle. Todos los derechos reservados.

Paso 6: Cierre de Conexiones


Cierre de manera explcita un objeto Connection, Statement y ResultSet para liberar recursos que ya no sean necesarios. Llame a los mtodos close() respectivos:
Connection conn = ...; Statement stmt = ...; ResultSet rset = stmt.executeQuery( "SELECT ename FROM emp"); ... // clean up rset.close(); stmt.close(); conn.close(); ...
23 Copyright 2004, Oracle. Todos los derechos reservados.

Ejemplo de Consulta Bsica


import java.sql.*; class TestJdbc { public static void main (String args [ ]) throws SQLException { DriverManager.registerDriver (new oracle.jdbc.OracleDriver()); Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@myHost:1521:ORCL","scott", "tiger"); Statement stmt = conn.createStatement (); ResultSet rset = stmt.executeQuery ("SELECT ename FROM emp"); while (rset.next ()) System.out.println (rset.getString ("ename")); rset.close(); stmt.close(); conn.close(); } }
24 Copyright 2004, Oracle. Todos los derechos reservados.

Asignacin de Tipos de Bases de Datos a Tipos Java


ResultSet asigna tipos de bases de datos a tipos Java:
ResultSet rset = stmt.executeQuery ("SELECT empno, hiredate, job FROM emp"); while (rset.next()){ int id = rset.getInt(1); Date hiredate = rset.getDate(2); String job = rset.getString(3); Nombre de columna empno hiredate job
25

Tipo NUMBER DATE VARCHAR2

Mtodo getInt() getDate() getString()

Copyright 2004, Oracle. Todos los derechos reservados.

Manejo de una Sentencia SQL Desconocida


1. Cree un objeto Statement vaco:
Statement stmt = conn.createStatement();

2. Utilice execute para ejecutar la sentencia:


boolean isQuery = stmt.execute(SQLstatement);

3. Procese la sentencia de acuerdo de la manera correspondiente:


if (isQuery) { // was a query - process results ResultSet r = stmt.getResultSet(); ... } else { // was an update or DDL - process result int count = stmt.getUpdateCount(); ... }
26 Copyright 2004, Oracle. Todos los derechos reservados.

Manejo de Excepciones
Las sentencias SQL pueden devolver una excepcin java.sql.SQLException. Utilice mtodos de manejo de errores estndar de Java.
try { rset = stmt.executeQuery("SELECT empno, ename FROM emp"); } catch (java.sql.SQLException e) { ... /* handle SQL errors */ }

... finally { // clean up try { if (rset != null) rset.close(); } catch (Exception e) { ... /* handle closing errors */ } ...

27

Copyright 2004, Oracle. Todos los derechos reservados.

Gestin de Transacciones
Por defecto, las conexiones estn en modo de confirmacin automtica. Utilice conn.setAutoCommit(false) para desactivar la confirmacin automtica. Para controlar las transacciones cuando no se encuentre en modo de confirmacin automtica, utilice:
conn.commit(): Confirmar una transaccin conn.rollback(): Realizar rollback de una transaccin

Al cerrar una conexin, se confirma la transaccin aunque est desactivada la confirmacin automtica.

28

Copyright 2004, Oracle. Todos los derechos reservados.

El Objeto PreparedStatement
Un PreparedStatement evita nuevos anlisis de sentencias SQL. Utilice este objeto para sentencias que desee ejecutar ms de una vez. Un PreparedStatement puede contener variables que proporcione cada vez que ejecute la sentencia.

29

Copyright 2004, Oracle. Todos los derechos reservados.

Cmo Crear un Objeto PreparedStatement


1. Registre el controlador y cree la conexin a la base de datos. 2. Cree PreparedStatement e identifique las variables con un signo de interrogacin (?):
PreparedStatement pstmt = conn.prepareStatement ("UPDATE emp SET ename = ? WHERE empno = ?"); PreparedStatement pstmt = conn.prepareStatement ("SELECT ename FROM emp WHERE empno = ?");

30

Copyright 2004, Oracle. Todos los derechos reservados.

Cmo Ejecutar una Sentencia PreparedStatement


1. Proporcione valores para las variables:
pstmt.setXXX(index, value);

2. Ejecute la sentencia:
pstmt.executeQuery(); pstmt.executeUpdate();
int empNo = 3521; PreparedStatement pstmt = conn.prepareStatement("UPDATE emp SET ename = ? WHERE empno = ? "); pstmt.setString(1, "DURAND"); pstmt.setInt(2, empNo); pstmt.executeUpdate();
31 Copyright 2004, Oracle. Todos los derechos reservados.

Maximizacin del Acceso a la Base de Datos


Utilice el pool de conexiones para minimizar los costos operativos de crear y cerrar sesiones. Utilice una declaracin de origen de datos explcita para la referencia fsica a la base de datos. Utilice el mtodo getConnection() para obtener una instancia de conexin lgica.

32

Copyright 2004, Oracle. Todos los derechos reservados.

Pool de Conexiones
Capa media

Servlet Java Origen de datos Cdigo de servidor de capa media ConnectionPoolDataSource Controlador JDBC Comandos de base de datos Base de datos

33

Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En esta leccin, ha aprendido lo siguiente: JDBC proporciona una conectividad de base de datos para varias construcciones Java, incluidos servlets y aplicaciones cliente. JDBC es una interfaz estndar de Java y forma parte de J2SE. Los pasos para utilizar sentencias SQL en Java son registrar, conectar, ejecutar y cerrar. Las sentencias SQL pueden devolver excepciones. Puede controlar el comportamiento por defecto de las transacciones.

34

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 16: Visin General


Esta prctica cubre: Configuracin del entorno Java para JDBC Adicin de componentes JDBC para consultar la base de datos Relleno de OrderEntryFrame con clientes de la base de datos

35

Copyright 2004, Oracle. Todos los derechos reservados.

Despliegue de Aplicaciones mediante Java Web Start

Copyright 2004, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para: Definir la arquitectura de Java Web Start Describir las ventajas de utilizar Java Web Start Desplegar una aplicacin mediante Web Start

Copyright 2004, Oracle. Todos los derechos reservados.

Qu es Java Web Start?


Es una tecnologa de despliegue de aplicaciones basada en la plataforma Java 2. Inicia aplicaciones con todas las funciones mediante cualquier explorador en cualquier plataforma y desde cualquier lugar de la Web.

Copyright 2004, Oracle. Todos los derechos reservados.

Ejecucin de una Aplicacin Web Start


1. Solicite la aplicacin. 2. Inicie Web Start en la mquina local. 3. Descargue la aplicacin. 4. Inicie la aplicacin (Draw).

HTTP

3 HTTP 4

Copyright 2004, Oracle. Todos los derechos reservados.

Ventajas de Web Start


Presenta una interfaz de usuario enriquecida y con gran capacidad de respuesta Inicia las aplicaciones desde el men Start o desde el escritorio No requiere ningn explorador en ejecucin Permite que las aplicaciones funcionen offline Actualiza las aplicaciones de manera automtica cuando se las llama

Copyright 2004, Oracle. Todos los derechos reservados.

Examen del Archivo JNLP


El archivo JNLP define: La ubicacin de los recursos de la aplicacin La informacin que aparece mientras se carga la aplicacin Cules son los recursos de la aplicacin

Copyright 2004, Oracle. Todos los derechos reservados.

Despliegue de Aplicaciones con JDeveloper


El asistente de perfiles de despliegue de JDeveloper: Detecta dependencias entre clases Crea archivos .ear, .war, .jar o .zip Le permite tener el control sobre otros archivos que se agreguen al archivado desplegado Le permite guardar los valores de perfil de despliegue en archivos de proyecto:
Para simplificar el redespliegue cuando cambie el cdigo Que se pueden actualizar automticamente con nuevas clases a medida que se vayan agregando al proyecto
7 Copyright 2004, Oracle. Todos los derechos reservados.

Creacin del Archivo de Perfil de Despliegue


Seleccione File > New

Copyright 2004, Oracle. Todos los derechos reservados.

Guardado del Perfil de Despliegue


Seleccione un destino y un nombre para el perfil de despliegue.

Copyright 2004, Oracle. Todos los derechos reservados.

Seleccin de los Archivos que se Van a Desplegar


Seleccione los tipos de archivo que se van a incluir. Otros valores difieren para otros tipos de perfiles de despliegue.

10

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin de un Archivo .jar Ejecutable


En JAR Options, defina el campo Main Class en el nombre de la clase que contiene el mtodo main().

11

Copyright 2004, Oracle. Todos los derechos reservados.

Creacin y Despliegue del Archivo de Archivado


Haga clic con el botn derecho del mouse en el archivo de perfil de despliegue. Seleccione la opcin de men Deploy to. El archivo .jar se crea en el directorio mostrado en las propiedades de despliegue.

12

Copyright 2004, Oracle. Todos los derechos reservados.

Uso de JDeveloper para Desplegar una Aplicacin en Java Web Start


Paso 1: Genere los perfiles de despliegue y archive la aplicacin. Paso 2: Inicie OC4J y cree una conexin. Paso 3: Utilice el asistente de Web Start para crear un archivo JNLP. Paso 4: Archive y despliegue la aplicacin en el servidor OC4J.

13

Copyright 2004, Oracle. Todos los derechos reservados.

Paso 1: Genere los Perfiles de Despliegue y Archive la Aplicacin


Empaquete todos los archivos de la aplicacin Java en un archivado .jar simple.

14

Copyright 2004, Oracle. Todos los derechos reservados.

Paso 2a: Inicie OC4J


Utilice la lnea de comandos para iniciar el servidor.

15

Copyright 2004, Oracle. Todos los derechos reservados.

Paso 2b: Creacin de una Conexin


Utilice el Asistente de Conexin para crear una conexin al servidor de aplicaciones. Debe especificar: El tipo de conexin (OC4J) El nombre de usuario y la contrasea para la autenticacin Direccin URL local, direccin Web de destino y directorio local para OC4J

16

Copyright 2004, Oracle. Todos los derechos reservados.

Paso 3: Utilice el Asistente de Web Start para Crear un Archivo JNLP


Especifique el nombre de Web Start, el archivado de la aplicacin (.jar) y la clase de aplicacin principal.

Incluya informacin para que se muestre al usuario durante la descarga (por ejemplo, ttulo de la aplicacin, proveedor y una breve descripcin)
Copyright 2004, Oracle. Todos los derechos reservados.

17

Paso 4: Archive y Despliegue la Aplicacin en el Servidor OC4J


Especifique las propiedades de los componentes Web y la descripcin de despliegue.


18

Despliegue a la conexin a OC4J creada en el paso 2. Ejecute el archivo HTML generado.


Copyright 2004, Oracle. Todos los derechos reservados.

Resumen
En este mdulo, ha aprendido a: Describir cmo se ejecuta una aplicacin Java Web Start Describir las ventajas de utilizar Java Web Start Utilizar JDeveloper para desplegar una aplicacin mediante Web Start

19

Copyright 2004, Oracle. Todos los derechos reservados.

Prctica 17: Visin General


Esta prctica cubre los siguientes temas: Archivado de la aplicacin Java Creacin de un nuevo proyecto que contenga los archivos Web Start y definicin de la preferencia del servidor OC4J Instalacin e inicio del servidor de aplicaciones OC4J autnomo Creacin de una conexin de servidor de aplicaciones en JDeveloper Archivado y despliegue de los archivos de aplicacin en OC4J y prueba de la aplicacin

20

Copyright 2004, Oracle. Todos los derechos reservados.

También podría gustarte