SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CINCO CONSOLE.

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 13 Ing. Ronald Criollo.
Advertisements

Introducción a C#.
Java nos ofrece System.out para escribir en pantalla, pero también tenemos System.in para leer. System.in es un objeto de una clase de java que se llama.
Ayudantía Pre-Actividad 5 Multimedios. Ayudantía Pre-Actividad 5 (1) creación de varias clases, y composición (2) manejo de threads (3) manejo de excepciones.
Curso de java básico (scjp)
Curso de java básico (scjp)
Curso de java básico (scjp)
Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
Archivos Binarios Usando Serializable. Introducción Utilizar archivos binarios nos ayuda a guardar y leer más fácilmente los datos de archivos. Pero como.
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Curso de Java Capitulo 7: Continuación Poo Profesor:
POLIMORFISMO UNIDAD 4.
EXCEPCIONES UNIDAD 5.
Uso de variables de tipo referencia
Lenguaje de programación Java
SCJP Sun Certified Programmer for Java 6
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
Siguiente Excepciones Introducción. AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza.
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.
Lic. Rosemary Torrico Bascopé
Práctica III: Java RMI con Serialización y Activation Framework
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
Igor Santos Grueiro. Ahora tenemos datos y datos …
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
Curso Programación en Java
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
7. Interfaces Herencia múltiple Interfaces Comparable y Comparator
1 Persistencia en Java Agustín J. González ELO-329.
Tema 11: Excepciones Antonio J. Sierra.
Programación I :: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
Lenguaje Java Fundamentos del lenguajes de programación
Streams. / En casi todo programa se necesita traer o enviar información a una fuente externa. / Dicha información puede estar en un archivo en el disco.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA DOS ORIENTACION A OBJETOS.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SIETE GENERICOS Y COLECCIONES.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CUATRO CONTROL DE FLUJOS, EXCEPCIONES Y ASERSIONES.
Control de errores visual basic
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Constructor  Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Java.
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.
Tratamiento de excepciones
INGENIERIA EN SISTEMAS COMPUTACIONALES ASIGNATURA: PROGRAMACION ORIENTADA A OBJETOS ALUMNO: JAVIER MARTINEZ MARTINEZ.
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2009.
Clases “ Es una Abstracción de un elemento del mundo real ”
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación I :: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
Transcripción de la presentación:

SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6

SCJP 6.0 SEMANA CINCO CONSOLE

LA CONSOLA JAVA La clase Console se introdujo para la versión 6 de Java. La JVM tiene una consola al igual que la tienen los SO como Windows Acepta comandos Se pueden crear instancias de la clase consola Cada instancia tiene sus metodos Los metodo que es necesario entender son: readLine readPassword

CONSOLA JAVA El metodo readLine() regresa un String que contiene los caracteres que inserto el usuario. El metodo readPassword() no regresa un String sino un array de caracteres. ¿Por qué no regresa un String? La razon es porque, una vez tecleado el password, lo capturamos y despues se removera de la memoria, en cambio, si se regresara un objeto String, éste existira en el pool de String’s y cualquier “hacker” la podria encontrar.

QUE PASO? En la línea 1, obtenemos un nuevo objeto Console Recuerda que no podemos hacer esto: Console c = new Console(); En la línea 2, invocamos al metodo readPassword, el cuar regresa un char[], no una cadena En la línea 3, manualmente se despliega el password que se tecleo En la línea 4, se invoca a readLine, el cual regresa una cadena En la linea 5, es la clase a probar

SERIALIZACION

S ERIALIZACIÓN Guarda el estado de uno o mas objetos en memoria secundaria. Incluye sus variables de instancia Si se marca una variable como transient, ésta variable no se incluira cuando se serialize un objeto

OBJECTOUTPUTSTREAM Y OBJECTINPUTSTREAM La magia de la serialización, ocurre con los siguientes métodos: ObjectOutputStream.writeObject() // serializa y escribe ObjectInputStream.readObject() // lee y deserializa

DEL EJEMPLO ANTERIOR… Se declara la clase Cat que debera de implementar la interface Serializable Serializable es una interface de tipo “marcador”, no cuenta con metodos a implementar Se crea un nuevo objeto Cat, sabemos que es serializable Se serializa el objeto Cat invocando al metodo writeObject() Cuando utilizamos alguna clase I/O se tiene que usar un try-catch

DEL EJEMPLO ANTERIOR… Se envuelve (Wrapper) un objeto FileOutputStream en un objeto ObjectOutputStream para crear la serialización El metodo writeObject() hace 2 cosas: Serializa el objeto y lo escribe en el archivo Se de-serializa el objeto Cat invocando al metodo readObject(). Este metodo regresa un objeto de tipo Object, es necesario hacer un cast explicito.

S ERIALIZACIÓN Que significa en realidad guardar un objeto? Si las variables de instancia son todas primitivas es muy fácil predecir, basta con ver el archivo Es muy diferente si las variables de instancia son referencias a otros objetos No se guarda la referencia Se guarda el objeto al cual apunta dicha referencia

S ERIALIZACIÓN Que pasa si quiero guardar una instancia de Dog? class Dog implements Serializable { // el resto del codigo // Serializable no tiene metodos para implementar }

S ERIALIZACIÓN Intentamos guardar: En Runtime se lanzara una excepcion: java.io.NotSerializableException: Collar

S ERIALIZACIÓN Se soluciona el problema: class Collar implements Serializable { // El resto del código }

E JERCICIO Probar el comportamiento del codigo antes mostrado

T RANSIENT Las variables que tengan este modificador de acceso son saltadas por la serialización

¿QUE ESTA PASANDO? Tenemos un objeto Dog que queremos guardar, Dog tiene un Collar. Pero la clase Collar no es Serializable, esta marcada como transient, por lo tanto, cuando Dog es deserializado vendra con un Collar null. ¿Qué debemo hacer para que no ocurra esto? Usar los metodos WRITEOBJECT Y READOBJECT

WRITE O BJECT Y READ O BJECT Se puede crear estos métodos para serializar variables incluso si están marcadas con transient Estos métodos dejan estar en un paso intermedio entre la serialización y de-serialización Se utilizan los métodos defaultWriteObject() y defaultReadObject() para guardar de manera normal el objeto y después guardar las demás propiedades

DEL CÓDIGO ANTERIOR… 1. Como mayoría de los métodos, writeObject() lanza exepciones. Se puede declarar o manejar 2.Cuando se invoca defaultWriteObject() dentro de writeObject() se esta escriendo que primero se guarde el objeto como normalmente se hace y luego que se ejecute lo demas 3.Se guarda un int extra 4. Se maneja la excepción 5. defaultReadObject() obtiene el objeto por default 6. Se de-serializa y construye manualmente un objeto Collar para que lo use el Dog

H ERENCIA Y S ERIALIZACIÓN Si una clase pasa el test IS-A para Serializable entonces los objetos que se generen de dicha clase se pueden guardar Si una superclase no es Serializable y alguna de sus subclases lo es, funciona correctamente, a excepción de cuando se guarda class Animal { } class Dog extends Animal implements Serializable { // the rest of the Dog code }

H ERENCIA Y SERIALIZACIÓN Recordando las instancias de objetos: A todas las variables de instancia se les asigna su valor default El constructor es invocado e inmediatamente dicho constructor hace una llamada a super() Todos los constructores son ejecutados A todas las variables que tengan valores literales, les es asignado dicho valor Termina el constructor.

H ERENCIA Y DE - SERIALIZACIÓN Todo lo anterior no ocurre cuando se de-serializa un objeto. El constructor no es invocado. Las variables de instancia que tengan valores literales, no les es asignado dicho valor, por otro lado les es asignado el valor de-serializado. Las variables de instancia transient y las que no tengan valores literales les es asignado su valor default.

HERENCIA Y DE-SERIALIZACIÓN Si la superclase no es serializable y la subclase lo es, al momento de de-serializar la superclase se comporta como un objeto normal (se inicializa con new solo las de la superclase) Si se serializa un arreglo o una colección, cada elemento debe ser serializable, cualquier elemento que no cumpla esta regla puede causar un error La serialización no aplica para statics. Las variables statics nunca son salvadas como parte del estado de un objeto, porque ellas no pertenecen al objeto, sino a la clase