Está en la página 1de 166

Java

2006

1 Introduccin. 2 Lenguaje Java. 3 Arreglos. 4 Orientacin a Objetos (OO). 5 Estructuras de datos. 6 Manejo de errores. 7 Acceso a base de datos (JDBC).
2
everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin Historia

Desarrollado por SUN http://www.sun.com Inicialmente fue enfocado a electrodomsticos:


Muchos artculos elctricos con microprocesadores. Potencial de desarrollo de aplicaciones para televisores, lavadoras, refrigeradores, etc.. Distintas marcas y modelos de electrodomsticos. Se busca la portabilidad. Su nombre era firstPerson. No tuvo mucho xito.

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin Caractersticas

Caractersticas de Java
Portabilidad (con ese fin naci). Orientado a objeto (est de moda). Robusto (manejo de errores antes de que ocurran). Pensando en el programador (Recolector de basura). No hay punteros.

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin Definiciones

Qu es la portabilidad?
Se refiere a la capacidad de un programa de ejecutarse en diferentes sistemas con mnimas modificaciones.

Qu es la seguridad?
A seguridad informtica, generalmente consiste en asegurar que los recursos del sistema de informacin (Material informtico o programas) de una organizacin sean utilizados de la manera que se decidi.

Qu es la eficiencia?
La capacidad del software de ejecutarse en un tiempo razonable para el usuario.
6
everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin Comparacin

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin Por qu Java es portable?

Gracias a la mquina virtual de Java (en ingls Java Virtual Machine, JVM). JVM es un programa nativo ejecutable en una plataforma especfica. La JVM es capaz de interpretar y ejecutar instrucciones expresadas en un cdigo binario especial (Java bytecode). El bytecode es generado por el compilador del lenguaje Java.
8
everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin Compilacin tradicional

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin Compilacin Java

10

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin Distintas mquinas virtuales

11

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin Distintas mquinas virtuales

12

everis- CONFIDENCIAL DERECHOS RESERVADOS

1 Introduccin. 2 Lenguaje Java. 3 Arreglos. 4 Orientacin a Objetos (OO). 5 Estructuras de datos. 6 Manejo de errores. 7 Acceso a base de datos (JDBC).
13
everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Java Development Kit (JDK)

Es el entorno de desarrollo oficial de SUN:


http://java.sun.com/j2se/downloads/index.html Disponible para mltiples plataformas:
Win 98, Me, NT, 2000, XP, Linux, Solaris (SUN). Win 98, Me, NT, 2000, XP, Linux, AIX, OS/2, OS/400, z/OS (IBM). Machintos (Apple).

14

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Java Development Kit (JDK)

La primera versin era JDK 1.0.0, fue reemplazada por JDK 1.1.0. El nombre ha sido intercambiado entre JDK y SDK (Software Development Kit).

15

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Instalacin de JDK

Ejecutar el instalador visual (win32) o el instalador de Linux (.sh/.bin/.rpm). Configurar las variables de entorno:
set PATH=C:\j2sdk1.4.2_10;%PATH% (win32). export PATH=(rutaInstalacion):$PATH (Linux).

16

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Componentes del JDK

Compilador de Java. Intrprete de Java (JVM). Intrprete de applets Java. Depurador de Java. Generador de documentacin. Integrador de C y C++ (JNI). Desensamblador.

javac java appletviewer jdb javadoc javah javap

17

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Java Runtime Environment (JRE)

Se refiere a la JVM. Es el software necesario para ejecutar el bytecode. JDK es JRE ms herramientas de desarrollo (javac).

18

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Primer programa

19

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Primer programa

El archivo debe llamarse HolaMundo.java Se compila con: javac HolaMundo.java Se ejecuta con: java HolaMundo El resultado es: Hola Mundo!
20
everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Sintaxis

Existen dos formas de comentar el cdigo:


// Comentario de una lnea /* Comentario De ms de una lnea */

Existe una sintaxis de comentarios para generar documentacin (javadoc).

21

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Sintaxis

Una sentencia es una lnea de cdigo terminada con punto y coma ;. Un bloque es un conjunto de sentencias agrupadas entre llave {}. Los bloques de cdigo pueden estar anidados.
22
everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Identificadores

Son las palabras que se les pueden dar a clases mtodos y variables. Se debe tener en cuenta lo siguientes:
Debe empezar con una letra, subrayado (_) o dlar ($). Despus del primer carcter pueden usar nmeros. Distingue entre las maysculas y las minsculas. No pueden coincidir con las palabras claves (keyword).

23

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Palabras claves

24

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Variables

Son contenedores de datos identificados mediante nombres (identificadores). El identificador se utiliza para referir al dato que contiene. Cada variable debe llevar un tipo que describa el dato que contiene. Por lo tanto una variable debe tener:
Un tipo. Un identificador. Un valor.

25

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Declaracin de variables

Es la sentencia mediante la cual se le asigna un tipo y un identificador. Adicionalmente se le puede asignar un valor inicial.

26

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Tipo de datos

Existen dos tipo de datos genricos:


Tipos primitivos (nativos, atmicos). Tipos complejos.

27

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Tipo de datos primitivos

Tipo byte short int long float double char

Lo que almacena Rango 1 byte (8 bits) 2 byte (16 bits) 4 byte (32 bits) 8 byte (64 bits) 4 byte (32 bits) 8 byte (64 bits) 2 bytes (16 bits) de -128 a 127 de -32768 a 32767 de -2147483648 a 2147483647 de -2-63 a 263 - 1 6 dgitos significativos (10-46 , 1038) 15 dgitos significativos (10-324 , 10308) Comprende el cdigo ASCII false y true
28
everis- CONFIDENCIAL DERECHOS RESERVADOS

boolean 1 byte (8 bits)

Lenguaje Java Tipo de datos complejos

Son referencia a un objeto (instancia). Su valor por omisin es null. En la variable compleja se guarda la referencia (puntero) a la zona de memoria donde est guardado el objeto.

29

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Tipo de datos complejos

Tipo nativo byte short int long float double char boolean

Equivalente complejo Byte Short Integer Long Float Double Character Boolean
30
everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java mbito de las variables

Es la zona de cdigo donde se puede referenciar dicha variable con su identificador. El lugar de definicin de la variable establece su mbito. Los mbitos pueden ser:
Atributos (o variable miembro). Parmetros de mtodos. Variables locales. Variables de bloques.

31

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java mbito de las variables

32

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java mbito de las variables

33

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Conversin entre tipos (Casting) Existen conversiones implcitas y explcitas. Las conversiones implcitas se resuelven en tiempo de compilacin. Las conversiones explcitas se resuelven en tiempo de ejecucin.

34

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Conversin entre tipos (Casting) Identificar que sentencias son incorrectas.

35

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Conversin entre tipos (Casting)

36

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Operadores

Operadores unarios. Operadores binarios. Operadores terniarios.

37

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Operadores

Descripcin Multiplicacin Resto de una divisin entera Suma Resta Decremento Menos unario Divisin

Smbolo * % + -/

Expresin 2*5 5%2 13+1 2-4 2--(2+4) 20/2


38

Resultado 10 1 14 -2 1 -6 10
everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Control de flujo

Sin el control de flujo el cdigo ser ejecutado linealmente sin interrupciones. Existen cuatro tipos de sentencia de control:
Bucles: while , do-while y for. Bifurcaciones: if-then-else y switch-case. Gestin de excepciones: try-catch-finally y throw. De ruptura: break, continue, label: y return.
39
everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java while y do-while

La sentencia while se utiliza para ejecutar continuamente un cdigo mientras que la condicin del while sea true. La sentencia do-while es parecida al while, pero asegura que el bloque de cdigo sea ejecutado al menos una vez.

40

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java for

La sentencia for facilita ejecutar un bloque de cdigo un nmero determinado de veces. Consiste de una inicializacin, una condicin y un incremento. Las variables de inicializaciones son locales al for. El incremento es opcional.

41

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java if-then-else

Esta sentencia permite elegir que bloque de cdigo ejecutar entre dos posibilidades.

42

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java switch-case

Esta sentencia evala una expresin del tipo int o que pueda ser convertida a int en forma implcita. Existe una opcin que se ejecuta si ninguna de las anteriores coincide (default).

43

everis- CONFIDENCIAL DERECHOS RESERVADOS

Lenguaje Java Ruptura

Break: Sirve para detener la ejecucin de tanto los bucles como la sentencia switch. Por lo tanto, continua con la lnea siguientes al bucle o el switch. Continue: Sirve para detener la ejecucin de un bucle y vuelve a evaluar su condicin. Return: Sirve para finalizar la ejecucin de un mtodo.
44
everis- CONFIDENCIAL DERECHOS RESERVADOS

Mtodos

El uso de mtodos tiene diversas ventajas:


Agrupa cdigo. Pueden ser llamados muchas veces.

Facilita la lectura del cdigo. Los mtodos en Java pueden retornar un tipo de datos o vaco (void). Los mtodos pueden recibir parmetros. Los mtodos se invocan usando su nombre y llenando sus parmetros. Un mtodo puede llamar a otro mtodo. Los mtodos se defines dentro del cuerpo de la clase.

45

everis- CONFIDENCIAL DERECHOS RESERVADOS

Mtodos

46

everis- CONFIDENCIAL DERECHOS RESERVADOS

Paquetes (Package)

Las clases se organizan en paquetes. Para usar una clase de otro paquete, se debe importar la clase. Una excepcin son las clases del paquete java.lang. El programador puede crear sus propios paquetes con el fin de organizar su cdigo.

47

everis- CONFIDENCIAL DERECHOS RESERVADOS

Normas de codificacin

El nombre de las clases comienza con mayscula. El nombre de los mtodos comienza con minscula. El nombre de las variables comienza con minscula. Si el nombre de la clase, el mtodo o la variable consiste de varias palabras, entonces las primeras letras de las palabras siguientes deben comenzar con mayscula. Ejemplos:
int contadorAuxiliarTemporal = 0; public static void metodoQueNoRetornaNada(){} public class ClasePrincipal{}

48

everis- CONFIDENCIAL DERECHOS RESERVADOS

1 Introduccin. 2 Lenguaje Java. 3 Arreglos. 4 Orientacin a Objetos (OO). 5 Estructuras de datos. 6 Manejo de errores. 7 Acceso a base de datos (JDBC).
49
everis- CONFIDENCIAL DERECHOS RESERVADOS

Arreglos

Son un conjunto o agrupacin de variables del mismo tipo cuyo acceso se realiza por ndices. Los arreglos (arrays) de dos o ms dimensiones se denominan matrices que pueden tener tantas dimensiones como se desee. Los arreglos en Java empiezan del subndice cero. Para acceder a una celda del arreglo se utiliza su posicin. Es posible conocer el largo de un arreglo.
50
everis- CONFIDENCIAL DERECHOS RESERVADOS

Arreglos

51

everis- CONFIDENCIAL DERECHOS RESERVADOS

Arreglos Ejercicios

Inicializar un arreglos con los primero 100 nmeros (1-100). Inicializar un arreglo con los primeros 100 nmeros pares ( 0,2,4,6,..) e imprimir los primeros 10 nmeros en el mismo ciclo.

52

everis- CONFIDENCIAL DERECHOS RESERVADOS

Arreglos Solucin

53

everis- CONFIDENCIAL DERECHOS RESERVADOS

Arreglos Ejercicios

Usar arreglos para crear la estructura piramidal.

54

everis- CONFIDENCIAL DERECHOS RESERVADOS

Arreglos Solucin

55

everis- CONFIDENCIAL DERECHOS RESERVADOS

1 Introduccin. 2 Lenguaje Java. 3 Arreglos. 4 Orientacin a Objetos. 5 Estructuras de datos. 6 Manejo de errores. 7 Acceso a base de datos (JDBC).
56
everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin e historia

La Programacin Orientada a Objetos (POO u OOP segn siglas en ingls) es un paradigma de programacin que define los programas en trminos de "clases de objetos. Objetos que son entidades que combinan estado (es decir, datos), comportamiento (esto es, procedimientos o mtodos) e identidad (propiedad del objeto que lo diferencia del resto). La POO expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas.
57
everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin e historia

Esto difiere de los lenguajes procedurales tradicionales, en los que los datos y los procedimientos estn separados y sin relacin. Estos mtodos estn pensados para hacer los programas y mdulos ms fciles de escribir, mantener y reutilizar.

58

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin e historia

La POO anima al programador a pensar en los programas principalmente en trminos de tipos de datos, y en segundo lugar en las operaciones ("mtodos") especficas a esos tipos de datos. Los lenguajes procedurales animan al programador a pensar sobre todo en trminos de procedimientos, y en segundo lugar en los datos que esos procedimientos manejan.

59

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin e historia

Los programadores que emplean lenguajes procedurales, escriben funciones y despus les pasan datos. Los programadores que emplean lenguajes orientados a objetos definen objetos con datos y mtodos, y despus envan mensajes a los objetos diciendo que realicen esos mtodos en s mismos.
60
everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin e historia

Tiene su origen con el lenguaje Simula67, que se usaba para simular naves y explosiones. Ms tarde fue refinado en el lenguaje Smalltalk. Smalltalk es el primer lenguaje de OO puro. La POO tom gran fuerza a mediados de los ochentas con la aparicin de C++. Otros lenguaje incorporaron la OO, tal como Ada, BASIC, Lisp y Pascal.

61

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin e historia

ActionScript Ada 95 C++ C# Clarion Delphi Eiffel Java

Lexico (en castellano) Objective-C Ocaml PHP 5 Python Ruby Smalltalk Visual Basic

62

everis- CONFIDENCIAL DERECHOS RESERVADOS

Introduccin e historia

Simula67 Lexico

Eiffel

C++

63

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos


Programacin procedural

Modelo mental anmalo. Nuestra imagen del mundo se apoya en los seres, a los que asignamos nombres sustantivos, mientras la programacin clsica se basa en el comportamiento, representado usualmente por verbos. Es difcil modificar y extender los programas, pues suele haber datos compartidos por varios subprogramas, que introducen interacciones ocultas entre ellos. Es difcil mantener los programas. Es difcil reutilizar los programas.

64

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos

Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad ("mtodos"). Corresponden a los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciacin es la lectura de estas definiciones y la creacin de un objeto a partir de ellas.

65

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos

Mtodo: algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se desencadena tras la recepcin de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un mtodo puede producir un cambio en las propiedades del objeto, y/o la generacin de un "evento" con un nuevo mensaje para otro objeto del sistema.

66

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos

Evento: un suceso en el sistema (tal como una interaccin del usuario con la mquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. Mensaje: una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus mtodos con ciertos parmetros asociados al evento que lo gener.

67

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos

Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto, y cuyo valor puede ser alterado por la ejecucin de algn mtodo. Estado interno: es una propiedad invisible de los objetos, que puede ser nicamente accedida y alterada por un mtodo del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos).
68
everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos


La forma de pensar

69

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos


La forma de pensar

70

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos


La forma de pensar

71

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos


La forma de pensar

72

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos


La forma de pensar

73

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos


Ejemplo

74

everis- CONFIDENCIAL DERECHOS RESERVADOS

Programacin Orientada a Objetos


Ejemplo

75

everis- CONFIDENCIAL DERECHOS RESERVADOS

Objetos y clases

Una clase es un plano que sirve para crear una instancia (objeto). Los objetos son realizados o instanciados a partir de una clase usando el operador new.

76

everis- CONFIDENCIAL DERECHOS RESERVADOS

Objetos y clases

Una funcin especial son los constructores, que se ejecutan al usar el operador new inicializando la clase. Puede haber ms de un constructor. El constructor no retorna nada. Debe tener el nombre de la clase. Existe uno por omisin (sin parmetros). El constructor NO es un mtodo.

77

everis- CONFIDENCIAL DERECHOS RESERVADOS

Encapsulamiento u Ocultamiento

Cada objeto est aislado del exterior. El aislamiento protege a los datos asociados a un objeto contra su modificacin por quien no tenga derecho a acceder a ellos. Esto elimina efectos secundarios e interacciones no deseadas.

78

everis- CONFIDENCIAL DERECHOS RESERVADOS

Encapsulamiento u Ocultamiento

El encapsulamiento de variables y mtodos en un componente de software provee dos principales beneficios a los desarrolladores:
Modularidad, esto es, el cdigo fuente de un objeto puede ser escrito, as como darle mantenimiento, independientemente del cdigo fuente de otros objetos. Ocultamiento de la informacin, es decir, un objeto tiene una "interfaz publica" que otros objetos pueden utilizar para comunicarse con l.

79

everis- CONFIDENCIAL DERECHOS RESERVADOS

Herencia

Es uno de los mecanismos de la POO, por medio del cual una clase se deriva de otra de manera que extiende su funcionalidad. Partir de las situaciones ms generales e ir derivando hacia las ms particulares, creando categoras, de la misma forma en que piensa el ser humano. La herencia nos permite una forma de armar una estructura con nuestras clases.
80
everis- CONFIDENCIAL DERECHOS RESERVADOS

Herencia
Ejemplo

Queremos clasificar los animales (Perros, Gatos y Salmones). Escribir el cdigo desde cero para cada uno de ellos sera tedioso y poco intuitivo. Los perros y gatos son mamferos. Los salmones son peces. Y todos son animales. Sera lgico elaborar una clase que tenga todas sus caractersticas en comn.
81
everis- CONFIDENCIAL DERECHOS RESERVADOS

Herencia
Ejemplo

82

everis- CONFIDENCIAL DERECHOS RESERVADOS

Herencia
Ejemplo

83

everis- CONFIDENCIAL DERECHOS RESERVADOS

Herencia
Resumen

Se basa en la existencia de relaciones de generalizacin/especializacin entre clases. Las clases se disponen en una jerarqua, donde una clase hereda los atributos y mtodos de las clases superiores en la jerarqua. Una clase puede tener sus propios atributos y mtodos adicionales a lo heredado. Una clase puede modificar los atributos y mtodos heredados. La implementacin de la herencia se realiza mediante la clave: extends.
84
everis- CONFIDENCIAL DERECHOS RESERVADOS

Herencia
Resumen

Las clases por encima en la jerarqua a una clase dada, se denominan superclases. Las clases por debajo en la jerarqua a una clase dada, se denominan subclases. Una clase puede ser superclase y subclase al mismo tiempo. Tipos de herencia:
Simple. Mltiple (no soportada en Java).

85

everis- CONFIDENCIAL DERECHOS RESERVADOS

Herencia
Ejercicio

Haga el objeto Salmn. El salmn puede ser de agua dulce o de agua salada. Agregue la velocidad mxima.

86

everis- CONFIDENCIAL DERECHOS RESERVADOS

Polimorfismo

Polimorfismo en herencia. Sobre carga de constructores. Sobre carga de mtodos. Sobre escritura de mtodos.

87

everis- CONFIDENCIAL DERECHOS RESERVADOS

Polimorfismo

88

everis- CONFIDENCIAL DERECHOS RESERVADOS

Polimorfismo

89

everis- CONFIDENCIAL DERECHOS RESERVADOS

Clases abstractas

Una clase abstracta no tiene definido el cdigo de todos sus mtodos. Debe ser marcada como abstract. Una clase abstracta est hecha para ser heredada. Por lo tanto una clase abstracta no puede ser final. Una clase que hereda a una clase abstracta debe implementar sus mtodos abstractos. Una clase abstracta no puede ser instanciada.
90
everis- CONFIDENCIAL DERECHOS RESERVADOS

Clases abstractas
Ejemplo

91

everis- CONFIDENCIAL DERECHOS RESERVADOS

Clases abstractas
Ejemplo

92

everis- CONFIDENCIAL DERECHOS RESERVADOS

Clases abstractas
Ejemplo

93

everis- CONFIDENCIAL DERECHOS RESERVADOS

Interfaces

Las interfaces en Java nos solucionan en parte la no existencia de la herencia mltiple. Las interfaces son un tipo de clase especial que no implementa ninguno de sus mtodos. Todos sus mtodos son abstractos. Por lo tanto no se pueden instanciar. La declaracin de una interface Java se realiza mediante la clave: interface seguido de su nombre.
94
everis- CONFIDENCIAL DERECHOS RESERVADOS

Interfaces

El objetivo de un mtodo abstracto es forzar una interfaz (API) pero no una implementacin. De las interfaces no se hereda, se implementa. Y se realiza mediante la clave: implements. Una clase puede implementar mltiples interfaces. Una clase puede heredar de otra clase y a la vez implementar mltiples interfaces. Una interface puede tambin definir constantes. Si una clase que implementa una interface, no implementa todos sus mtodos, deber ser definida como abstracta.

95

everis- CONFIDENCIAL DERECHOS RESERVADOS

Interfaces
Ejemplo

96

everis- CONFIDENCIAL DERECHOS RESERVADOS

Interfaces vs. Clase abstracta

Una interface no puede implementar ningn mtodo. Una clase puede implementar n interfaces pero solo heredar de una clase. Una interface no forma parte de la jerarqua de clases. Clases dispares pueden implementar la mismo interface.

97

everis- CONFIDENCIAL DERECHOS RESERVADOS

Clases, subclases, abstractas e interfaces


Haremos una clase que no herede de nadie cuando la clase no pase la prueba de Es-Un. Haremos una subclase cuando necesitemos hacer una especializacin de la superclase mediante sobre escritura o aadiendo nuevos mtodos. Haremos una clase abstracta cuando queramos definir un grupo genrico de clases y adems tengamos algunos mtodos implementados que reutilizar. Tambin cuando no queramos que nadie instancie dicha clase. Haremos una interface cuando queramos definir un grupo genrico de clases y no tengamos mtodos implementados que reutilizar. O cuando nos veamos forzados por la falta de herencia mltiple en Java.

98

everis- CONFIDENCIAL DERECHOS RESERVADOS

Cuadro comparativo

Lenguaje OO debe tener como mnimo:


a)Encapsulacin. b)Herencia. c) Polimorfismo.

Adicionalmente, en un lenguaje OO puede suceder que:


d)Todos los tipos de datos predefinidos en el lenguaje sean objetos. e)Todos los tipos de datos que puedan ser definidos por los programadores sean objetos. f) Todas las posibles operaciones se realicen enviando mensajes entre objetos.
everis- CONFIDENCIAL DERECHOS RESERVADOS

99

Cuadro comparativo

Caractersticas Fortran 77 C++ C# a) b) c) d) e) f) NO NO NO NO NO NO SI SI SI NO NO NO SI SI SI NO NO NO

Java Smalltalk SI SI SI NO SI NO SI SI SI SI SI SI

Eiffel SI SI SI SI SI SI

100

everis- CONFIDENCIAL DERECHOS RESERVADOS

Modificadores

final:
En un atributo: no modificable En un mtodo: no se puede redefinir en un heredero

static: pertenece a la clase (no a una instancia) synchronized: sincronizado (solo mtodos) Acceso:
public: puede ser usado por cualquier clase protected : solo puede ser vista por clases dentro del paquete y herederos private: solo puede ser vista por esta clase (no herederos). Si no se indica un acceso se asume package, slo puede ser vista por otras clases en el mismo paquete.

101

everis- CONFIDENCIAL DERECHOS RESERVADOS

Frases finales

Solamente hay dos cosas equivocadas en C++: el concepto inicial y la implementacin. (Bertrand Meyer, creador de Eiffel). La programacin orientada a objetos es, en cierto sentido, slo un truco de programacin que usa indireccin. Es un truco que los buenos programadores llevan aos usando. (Bjarne Stroustrup, creador de C++). Convertir C en un lenguaje orientado a objetos es como tratar de convertir un perro en un pulpo clavndole ms piernas. (Steve Taylor). C te trata como un adulto consentido. Pascal te trata como un chico desobediente. Ada te trata como un criminal. (Bruce Powel Douglass).

102

everis- CONFIDENCIAL DERECHOS RESERVADOS

Frases finales

Ah, Java. Todo el rendimiento de Smalltalk combinado con la claridad sintctica de C++. (Annimo). Conocer la sintaxis de Java no convierte a nadie en un ingeniero de software. (John Knight). Cualquier programador lo suficientemente persistente y empecinado conseguir escribir cdigo al estilo Fortran o Cobol en cualquier lenguaje de programacin que utilice. (Annimo. Odo en la Universidad de Valencia) Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. (Annimo. bash.org)

103

everis- CONFIDENCIAL DERECHOS RESERVADOS

Frases finales

Los objetos en el sentido de la orientacin a objetos han estado presentes entre nosotros desde que se desarroll la conciencia en la especie humana, pero se ha tardado miles de aos en aprovecharlos como tcnica. Cunto tiempo ms se necesitar para extraer el mximo rendimiento de la OO? [...] Quiz necesitemos un cambio conceptual antes que una sucesin frentica de cambios tcnicos. Howard Humphrey (2002)
104
everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 1 parte 1/3

Desarrollar una clase llamada Punto que:


Tenga dos atributos private de tipo double. Tenga un constructor con dos parmetros de tipo double que inicialice los dos atributos. Tenga un constructor por omisin (sin parmetros) que inicialice los dos atributos al valor que se quiera. Tenga un getter para cada uno de los atributos. Tenga un mtodo calcularDistanciaDesde que recibe un parmetro de tipo Punto y que devuelve un double.

105

everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 1 parte 2/3 Desarrollar una clase llamada Circulo que: Tenga dos atributos private de tipo Punto y double. Tenga un constructor con dos parmetros de tipo Punto y double que inicialice los dos atributos. Tenga un constructor por omisin (sin parmetros) que inicialice los dos atributos al valor que se quiera. Tenga un constructor con tres parmetros de tipo double que inicialice los atributos. Tenga un getter para cada uno de los atributos. Tenga un mtodo calcularDistanciaDesde que recibe un parmetro de tipo Punto y que devuelve un double. Tenga un mtodo calcularArea que no recibe ningn parmetro y devuelve un double. Tenga un mtodo calcularPerimetro que no recibe ningn parmetro y devuelve un double.
106
everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 1 parte 3/3

Desarrollar una clase llamada Triangulo que: Tenga tres atributos private de tipo Punto. Tenga un constructor con tres parmetros de tipo Punto que inicialice los tres atributos. Tenga un constructor por omisin (sin parmetros) que inicialice los tres atributos al valor que se quiera. Tenga un constructor con seis parmetros de tipo double que inicialice los tres atributos. Tenga un getter para cada uno de los atributos. Tenga un mtodo calcularDistanciaDesde que recibe un parmetro de tipo Punto y que devuelve un double. Tenga un mtodo calcularArea que no recibe ningn parmetro y devuelve un double.

107

everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 2 parte 1/4

Desarrollar una clase llamada Asignatura que:


Tenga dos atributos private de tipo int (el identificador) y de tipo double (la calificacin). Tenga un constructor con un parmetro de tipo int. Tenga un getter para cada uno de los atributos. Tenga un setter para la calificacin.
108
everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 2 parte 2/4

Desarrollar una clase llamada Alumno que:


Tenga tres atributos private de tipo Asignatura. Tenga un constructor con tres parmetros de tipo Asignatura que inicialice los tres atributos. Tenga un constructor con tres parmetros de tipo int que inicialice los tres atributos. Tenga un getter para cada uno de los atributos.

109

everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 2 parte 3/4

Desarrollar una clase llamada Profesor que:


Tenga un mtodo ponerNotas que recibe un parmetro de tipo Alumno y que no devuelve nada. Pondr una calificacin aleatoria a cada una de las asignaturas del alumno. Tenga un mtodo calcularMedia que recibe un parmetro de tipo Alumno y devuelve un double.

Nota: Para calcular un nmero aleatorio usaremos Math.random() que devuelve un double entre 0.0 y 1.0.
110
everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 2 parte 4/4

Desarrollar una clase llamada AplicacionColegio que en su mtodo main:


Cree e inicialice tres Asignaturas. Cree un Alumno con las tres Asignaturas. Cree un Profesor que le ponga calificaciones al Alumno y muestre por pantalla la media del Alumno.

111

everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 3 parte 1/4

Desarrollar una clase llamada Motor que:


Tenga dos atributos private de tipo int (litros de aceite) y de tipo int (CV). Tenga un constructor con un parmetro de tipo int para los CV. Los litros de aceite por omisin sern 0. Tenga un getter para cada uno de los atributos. Tenga un setter para los litros.
112
everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 3 parte 2/4

Desarrollar una clase llamada Auto que:


Tenga un atributo private de tipo Motor, un atributo de tipo String (marca), otro de tipo String (modelo) y otro de tipo double con el precio acumulado con las averas. Tenga un constructor con tres parmetros de tipo String que inicialice la marca y el modelo y el motor. Tenga un getter para cada uno de los atributos. Un mtodo acumularAveria que incrementar el importe gastado en averas.

113

everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 3 parte 3/4

Desarrollar una clase llamada Taller que:


Tendr tres atributos, un auto, un String con la avera asociada y el nmero de autos que ha ido atendiendo. El taller solo podr atender a un auto en cada momento. Controlar esta condicin. Tenga un mtodo aceptarAuto que recibe un parmetro de tipo Auto y la avera asociada. El taller solo podr atender a un auto en cada momento. Si ya est atendiendo uno, que devuelva un false. Tenga un mtodo devolverAuto que dejar al taller en estado de aceptar un nuevo auto.

114

everis- CONFIDENCIAL DERECHOS RESERVADOS

Orientacin a objetos (OO)


Ejercicios 3 parte 4/4

Desarrollar una clase llamada AplicacionTaller que en su mtodo main:


Cree un taller. Cree 2 autos. El taller ir aceptando los autos y devolvindolos, acumulando un importe aleatorio (Math.random()) de la avera tratada. Si la avera del auto es aceite incrementar en 10 los litros de aceite. Los autos entrarn al menos 2 veces en el taller. Mostrar la informacin de los autos al final del main.

115

everis- CONFIDENCIAL DERECHOS RESERVADOS

1 Introduccin. 2 Lenguaje Java. 3 Arreglos. 4 Orientacin a Objetos. 5 Estructuras de datos. 6 Manejo de errores. 7 Acceso a base de datos (JDBC).
116
everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos

Es una forma de organizar un conjunto de datos con el objetivo de facilitar la manipulacin de estos datos como un todo o individualmente.

117

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Clases bsicas (String)

java.lang.
String. StringBuffer

118

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Clases bsicas (String)

java.util.StringTokenizer

119

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Clases bsicas (String) Ejercicios

Recibir una frase como argumento de la aplicacin y ejecutar las siguientes operaciones:
Imprimir las palabras de la frase, una en cada lnea. Imprimir las palabras de la frase en mitad mayscula y mitad minscula. Imprimir la frase escrita al revs.

120

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones

Una coleccin es simplemente un objeto que agrupa varios elementos en uno solo. Se utilizan para guardar y manipular datos as como transmitir informacin entre mtodos. En Java tenemos un framework de colecciones:
Interfaces: representaciones abstractas de las colecciones que permiten usarlas sin conocer sus detalles. Implementaciones: colecciones concretas. Algoritmos: mtodos que permiten realizar operaciones como bsquedas, ordenaciones, etc.
121
everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones

122

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones

Todas las colecciones se encuentran en el paquete java.util.*; java.util.Collection es la raz de la jerarqua de las colecciones. Existirn especializaciones que permitan elementos duplicados o no, que permitan ordenar los elementos o no, etc. Esta clase contiene la definicin de todos los mtodos genricos que deben implementar las colecciones.

123

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones (Iterator)

El interfaz Iterator representa un componente que permite iterar sobre los elementos de una coleccin. Todas las colecciones ofrecen una implementacin de Iterator por medio del mtodo: public Iterator iterator(); Sus mtodos son:
boolean hasNext(); // Si tiene mas elementos. Object next(); // Devuelve el primer elemento y se queda apuntando al siguiente.
124
everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones (Set)

El interfaz Set hereda del interfaz Collection. Pero no aade la definicin de ningn mtodo nuevo. Representa colecciones que no permiten tener elementos duplicados. Para saber si un elemento est duplicado, hace uso del mtodo:
public boolean equals(Object o);

Existen distintas implementaciones de este interfaz.


125
everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones (Set)

126

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones (Set)

127

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones (List)

El interfaz List hereda del interfaz Collection. Representa colecciones con elementos en secuencia. Es decir, con orden. Permite tener duplicados. Es accesible mediante ndice, de manera que se puede:
Acceder a un elemento concreto de una posicin. Insertar un elemento en una posicin concreta.

128

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones (List)

129

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones (List)

130

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones (List)

131

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones (Map)

La interfaz Map no hereda del interfaz Collection. Representa colecciones con parejas de elementos: clave y valor. No permite tener claves duplicadas. Pero si valores duplicados.

132

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones

133

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones (Map)

Los mtodos de esta interfaz son:


Object put(Object key, Object value); // Inserta una pareja. Object get(Object key); // Accede al valor de una clave. Object remove(Object key); // Elimina una pareja. boolean containsKey(Object key); // Comprueba la existencia de una clave. boolean containsValue(Object value); // Comprueba la existencia de un valor.

134

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones

135

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Colecciones

136

everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Ejercicio 1/2

Haga una clase Cliente, que tenga lo siguiente:


Un atributo String nombres. Un atributo String apellidos. Un atributo Date fnacimiento. Un atributo rut. Un mtodo getEdad. Un constructor por omisin. Los getters y setters correspondientes.
137
everis- CONFIDENCIAL DERECHOS RESERVADOS

Estructuras de datos
Ejercicio 2/2

Haga una clase AplicacionCliente que permita ingresar clientes aceptando repeticin de rut y que imprima la informacin de todos los clientes al salir (use Collection). Haga una clase AplicacionCliente2 que permita ingresar clientes sin repeticin de rut y que imprima la informacin de todos los clientes al salir (use Map).
138
everis- CONFIDENCIAL DERECHOS RESERVADOS

1 Introduccin. 2 Lenguaje Java. 3 Arreglos. 4 Orientacin a Objetos. 5 Estructuras de datos. 6 Manejo de errores. 7 Acceso a base de datos (JDBC).
139
everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores

Una excepcin es una condicin anormal que se produce en una porcin de cdigo durante su ejecucin. La existencia de las excepciones permite:
Encapsular en clases los errores. Separar el flujo de ejecucin normal del tratamiento de errores.

Las excepciones se pueden: o tratar o relanzar para que sean tratadas por otro mtodo del stack. Pueden ser:
Verificadas : Requieren un control explcito (en tiempo de compilacin). No verificadas: No requieren un control explicito y pueden ocurrir en cualquier momento (en tiempo de ejecucin).

140

everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores
Verificadas Vs. No verificadas

Verificadas (checked):
Su tratamiento es obligatorio y el compilador as lo chequea. Todas aquellas clases hijas de java.lang.Exception

No verificadas (unchecked):
Su tratamiento no es obligatorio y el compilador no lo chequea. Todas aquellas clases hijas de java.lang.Error o de java.lang.RuntimeException.

141

everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores

Se manejan mediante bloques try & catch:


try { // Cdigo susceptible de lanzar una excepcin. } catch(tipo-excepcin ex) { // Cdigo de tratamiento de la excepcin. } catch(tipo-excepcin ex) { // Cdigo de tratamiento de la excepcin. } finally { // Cdigo que se ejecuta siempre. }

142

everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores
En tiempo de compilacin

143

everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores
En tiempo de ejecucin

144

everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores

Las excepciones se pueden atrapar usando try-catchfinally. Las excepciones pueden ser relanzadas, de esta manera es otra parte del programa que se encargar de atraparla. Muchas clases Java envan excepciones. Se pueden crear nuevas excepciones:
Verificadas : heredando de
java.lang.Exception

No verificadas: heredando de
java.lang.RuntimeException

145

everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores
Atrapar excepciones

146

everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores Relanzar excepciones

147

everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores
Ejercicio 1

Haga un programa de conversin de monedas con el siguiente men:


(Pesos,Dlar,Euros): P Ingreso la cantidad: 1570 Su valor en Dlar es : 2.99 Su valor en Euros es: 2.49

Se deben manejar los posibles errores usando excepciones. Los mensajes de error deben ser claros y referentes al tipo de error.
148
everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores
Ejercicio 2 1/2

Modifique el ejercicio del cliente realizado en Estructura de datos de la siguiente forma:


El ingreso de cliente se realiza va consola. Existe un nico rut por cliente. Si se ingresa un rut ya existente debe permitir la posibilidad de modificar el cliente. El formato de rut debe ser (999-9|k|K). Si las validaciones fallan se debe lanzar una excepcin de negocios. Al finalizar el ingreso de clientes estos deben ser desplegadas en pantalla y ordenadas por fecha de nacimiento de mayor a menor. Siga el sistema de navegacin.
149
everis- CONFIDENCIAL DERECHOS RESERVADOS

Manejo de errores
Ejercicio 2 2/2

150

everis- CONFIDENCIAL DERECHOS RESERVADOS

1 Introduccin. 2 Lenguaje Java. 3 Arreglos. 4 Orientacin a Objetos. 5 Estructuras de datos. 6 Manejo de errores. 7 Acceso a base de datos (JDBC).
151
everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)

JDBC
Java Data Base Connectivity

JDBC: API formada por conjunto de clases e interfaces en Java que permite ejecutar sentencias SQL sobre una base de datos. Ofrece un estndar de conexin a cualquier base de datos disponible en el mercado. Permite obtener los datos de manera cmoda y fcil en ambientes cliente-servidor a travs de Internet/Intranet. JDBC permite:
Establecer una conexin con una base de datos. Enviar sentencias SQL. Procesar los resultados de estas sentencias.

152

everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)

La clase que se encarga de cargar inicialmente todos los drivers JDBC es DriverManager. Una aplicacin utiliza DriverManager para obtener un objeto de tipo conexin Connection con una base de datos. Dicha conexin se establece con una URL del tipo: jdbc:subprotocolo//servidor:puerto/base de datos. Teniendo este Connection, es posible crear sentencias ejecutables (Statement). Estas sentencias pueden entregar uno o ms resultados que se devuelven como objetos de tipo ResultSet.

153

everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)

Los pasos para efectuar conexin a una base de datos es:


Cargar el driver de la base. Establecer una comunicacin. Enviar sentencias a la base. Recuperar el resultado.

Nota: Se debe agregar al CLASSPATH el JAR del driver (depende de la BD).


154
everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)

155

everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)


Connection

Las conexiones sirven para:


Representar la conexin. Realizar commit y rollback. Controlar autocommit. Obtener acceso al catlogo de la base. Etc...

156

everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)


Statment

Para ejecutar SQL existen 3 formatos:


Statement: SQL genrico PreparedStatement: SQL con parmetros CallableStatement: SQL con parmetros OUT

Los 3 formatos se pueden usar para consultar y actualizar.


statement.executeQuery(); statement.executeUpdate(); statement.execute();

157

everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)


Statment

Statement es el ms simple, ya que permite ejecutar SQL directamente.

PreparedStatement es preferible por su manejo de parmetros.

158

everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)


Resultset

Para obtener resultados se requiere de otro mtodo: executeQuery El retorno es un objeto que permite iterar sobre las filas una a una.

159

everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)


Resultset

Par leer los datos desde la fila actual del ResultSet existen varios mtodos:
getInt(colName); getString(colName); getFloat(colName); getBigDecimal(colName); getDate(colName);: java.sql.Date getTime(colName); : java.sql.Time getAsciiStream(colName); getBinaryStream(colName); getObject(colName);
160
everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)


MetaData

Un objeto ResultSet contiene informacin adicional a las filas: columnas, nombres de campos, nulls, tablas, etc.

161

everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)


Ejercicio 1

Haga un programa que verifique el nombre de un usuario y su clave. La tabla usuarios tiene el siguiente formato:
Columna rut VARCHAR(16). Columna clave VARCHAR(16). Columna nombres VARCHAR(32). Columna apellidos VARCHAR(64).

Si las entradas son correctas debe saludar al usuario indicando su nombre completo. Si las entradas son incorrectas debe enviar un mensaje de error.
162
everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)


Ejercicio 2

Haga un programa que reciba el nombre de una tabla desde la consola y despliega su contenida indicando el nombre de cada columna, su tipo y todas sus filas.

163

everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)


Ejercicio 3

Agregue la columna fnacimiento a la tabla usuarios del ejercicio 1 (debe ser del tipo Date). Haga un programa que permita insertar nuevos usuarios a la tabla usuarios indicada en el ejercicio 1. Considere la columna rut como llave primaria (PK). Haga las validaciones correspondientes. Finalmente permita la modificacin de usuarios existentes.
164
everis- CONFIDENCIAL DERECHOS RESERVADOS

Acceso a base de datos (JDBC)


Ejercicio 4

Modifique el ejercicio 2 de Manejo de errores para que cumpla con lo siguiente:


Los clientes sern grabados en la tabla cliente. La columna rut es la llave primaria (PK).

165

everis- CONFIDENCIAL DERECHOS RESERVADOS

166

everis- CONFIDENCIAL DERECHOS RESERVADOS

También podría gustarte