La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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.

Presentaciones similares


Presentación del tema: "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."— Transcripción de la presentación:

1 Ayudantía Pre-Actividad 5 Multimedios

2 Ayudantía Pre-Actividad 5 (1) creación de varias clases, y composición (2) manejo de threads (3) manejo de excepciones (la aplicación no se debe caer). (4) concepto de cola (5) manejo de sonido wav (6) lectura por teclado (7) herencia

3 Clase Thread: La forma más directa para hacer un programa multi-thread es extender la clase Thread, y redefinir el método run(). Este método es invocado cuando se inicia el thread (mediante una llamada al método start() de la clase thread). El thread se inicia con la llamada al método run y termina cuando termina éste. El ejemplo ilustra estas ideas: Threads

4 public class ThreadEjemplo extends Thread { public ThreadEjemplo(String str) { super(str); } public void run() { for (int i = 0; i < 10 ; i++) System.out.println(i + " " + getName()); System.out.println("Termina thread " + getName()); } public static void main (String [] args) { new ThreadEjemplo("Pepe").start(); new ThreadEjemplo("Juan").start(); System.out.println("Termina thread main"); } } Al ejecutar varias veces el programa, verán que no siempre se comporta igual.

5 Termina thread main 0 Pepe 1 Pepe 2 Pepe 3 Pepe 0 Juan 4 Pepe 1 Juan 5 Pepe 2 Juan 6 Pepe 3 Juan 7 Pepe 4 Juan 8 Pepe 5 Juan 9 Pepe 6 Juan Termina thread Pepe 7 Juan 8 Juan 9 Juan Termina thread Juan Compila y ejecuta el programa. La salida, será algo asi:

6 Excepciones Una excepción es un evento que ocurre durante la ejecución de un programa que rompe el flujo normal de ejecución. Cuando se habla de excepciones nos referimos a evento excepcional. Muchas cosas pueden generar excepciones: Errores de hardware (falla de disco), de programa (acceso fuera de rango en arreglo), apertura de archivo inexistente, etc. Cuando se produce una excepción dentro de un método de Java, éste crea un objeto que contiene información sobre la excepción y lo pasa al código llamador. La rutina receptora de la excepción es responsable de reaccionar a tal evento inesperado. Cuando creamos un objeto para la excepción y lo pasamos al código llamador decimos que lanzamos una excepción (Throw an exception) Si el metodo llamador no tiene un manejador de la excepción se busca hacia atrás en la pila de llamados anidados hasta encontrarlo. Decimos que el manejador atrapa la excepción (catch the exception)

7 Ventajas de usar excepciones: Separar código de casos de error Supongamos que queremos hacer la tarea: readFile { open the file; determine its size; allocate that much memory; read the file into memory; close the file; }

8 Ventajas de usar excepciones errorCodeType readFile { initialize errorCode = 0; open the file; if (theFileIsOpen) { determine the length of the file; if (gotTheFileLength) { allocate that much memory; if (gotEnoughMemory) { read the file into memory; if (readFailed) { errorCode = -1; } } else { errorCode = -2; } } else { errorCode = -3; } close the file; if (theFileDidntClose && errorCode == 0) { errorCode = -4; } else { errorCode = errorCode and -4; } } else { errorCode = -5; } return errorCode; } Sin excepciones debemos hacer algo así:

9 Ventajas de usar excepciones: Separar código de casos de error readFile { try { open the file; determine its size; allocate that much memory; read the file into memory; close the file; } catch (fileOpenFailed) { doSomething; } catch (sizeDeterminationFailed) { doSomething; } catch (memoryAllocationFailed) { doSomething; } catch (readFailed) { doSomething; } catch (fileCloseFailed) { doSomething; } Con excepciones:

10 Herencia La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re- usando código (métodos y atributos). Podemos agregar métodos y variables para adaptar la clase a la nueva situación. Java también permite consultar por la estructura de una clase (cuáles son sus métodos y variables). A esto se le llama reflexión (los animales sabrán que son animales, el hombre tiene conciencia sobre su existencia, Java puede consultar por la naturaleza de cada objeto...)

11 Herencia La herencia la identificamos cuando encontramos la relación es-un entre la nueva clase y la ya existente. Un estudiante es una persona. La clase ya existente se le llama superclase, clase base, o clase padre. A la nueva clase se le llama subclase, clase derivada, o clase hija.

12 Java Sound The Java Sound API specification provides low-level support for audio operations such as audio playback and capture (recording), mixing, MIDI sequencing, and MIDI synthesis in an extensible, flexible framework. Included in Java 2 Platform, Standard Edition (J2SE) The Java Sound API is part of J2SE version 1.3.x and higher. http://java.sun.com/products/java-media/sound/

13 SimpleAudioPlayer.java SimpleAudioRecorder.java Java Sound

14 http://profesores.elo.utfsm.cl/~agv/elo329


Descargar ppt "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."

Presentaciones similares


Anuncios Google