Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández...

23
Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila

Transcript of Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández...

Page 1: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Unidad 2REUTILIZACIÓN DE CLASES

Programación Orientada a Objetos

M.S.C. Ivette Hernández Dávila

Page 2: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Reutilización de clasesComposiciónUtilizar objetos como miembros de otros

objetosHerenciaEspecialización o extensión de una clase

para crear otra nueva

Page 3: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Reutilización de código. ComposiciónLa forma más directa de usar una clase de

objetos es creando objetos concretos.Relación Tiene-un: También se puede decidir

que un elemento concreto compone a otro tipo de objetos más general.

Por ejemplo: la clase de objetos Coche posee cuatro objetos de la clase Rueda.

Page 4: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Así, un objeto puede contener a muchos otros, y así sucesivamente. Cuando un objeto recibe un mensaje, dentro del método asociado a éste puede:

Responder directamente.Reenviar el mensaje a otros objetos

externos.Reenviar el mensaje a objetos que él mismo

contiene.

Page 5: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Sea por ejemplo la clase LamparaDeMesa, la cual tiene un bombillo, un Suiche y un porta lámpara, su codificación quedaría de la siguiente manera:

public class LamparaDeMesa {

private Bombillo bombilloLampara;

private Suiche interruptorLampara;

.....

}

Indica que la clase LamparaDeMesa tiene un objeto bombilloLampara del tipo Bombillo y un objeto interruptorLampara de tipo Suiche. Obviamente puede contener más objetos.

Page 6: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

ComposiciónConsiste en meter objetos dentro de otros

objetos. Es como crear un registro.Ejemplo:SprinklerSystem.java

Para poder visualizar un objeto de la clase WaterSource con System.out.println(), es necesario que posea un método que lo convierta en String. Este método se llama toString(), y debe retornar un String.

Page 7: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Ejemplos:clase Punto y clase CírculoPunto.javaCirculo.java

Page 8: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Reutilización de código. Herencia Relación es-un: En O.O. Se permite coger

una clase, crear un copia idéntica de la misma (clon), modificar la estructura de la copia, y crear así una nueva clase.

Esto es lo que se denomina herencia, aunque Java hace que si la clase original (llamada clase base o padre), se modifica posteriormente, la clase copia (también llamada clase heredera, derivada o hija), también reflejará esos cambios.

Page 9: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Para diferenciar la clase hija de la padre se puede:

Incluir nuevas funciones a la clase hija.Modificar el funcionamiento de las funciones

ya existentes en la clase padre. Es lo que se llama reescritura.

La reescritura viene a decir algo así como: «Estoy empleando la misma interfaz que mi padre, pero me quiero comportar de forma distinta».

Page 10: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

FLUJOS EN JAVA

Page 11: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

FLUJOSFlujo de Entrada/Salida proporciona un

camino a través del cual un programa puede enviar una secuencia de bytes.

Un flujo de entrada es una fuente de bytes.Un flujo de salida es un destino de bytes.

Page 12: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

DataInputStreamEs un clase que proporciona flujos de

entrada, que permite convertir los datos a tipos primitivos.

Usa los siguientes métodos:

Page 13: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Métodos del DataInputStream:readBoolean(); lee un boleanoreadByte(); lee un byte de 8 bitsreadUnsignedByte(); lee un byte de 8 bits

sin signoreadShort(); lee un short de 16 bitsreadChar(); lee un char de 16 bitsreadInt(); lee un entero de 32 bitsreadLong(); lee un long de 64 bitsreadFloat(); lee un float de 32 bitsreadDouble(); lee un double de 64 bitsreadLine(); lee una línea de texto

Page 14: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

DataOutputStreamEs un flujo de salida que permite convertir

los datos de tipo primitivo a un flujo de bytes de salida.

Sus métodos son:

Page 15: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Métodos de DataOutputStreamwriteBoolean(Boolean); Escribe un booleanowriteByte(Byte); Escribe un byte de 8 bitswriteShort(int); Escribe un short de 16 bitswriteChar(char); Escribe un char de 16 bitswriteInt(int); Escribe un int de 32 bitswriteLong(long); Escribe un long de 64 bitswriteFloat(float); Escribe un float de 32 bitswriteDouble(double); Escribe un double de 64

bitswriteBytes(String); Escribe una cadena como una

secuencia de byteswriteChars(String); Escribe una cadena como una secuencia de caracteres de 16 bits

Page 16: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

PrintStreamProporciona un filtro de salida

que permite desplegar, números, valores, cadenas etc.

En modo texto.Funciona parecido el println de la

consola.

Page 17: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Cerrando FlujosPara cerrar un flujo , usamos el

método: close().

Page 18: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Abriendo FlujosPara abrir un flujo, primero

creamos un Objeto como flujo de entrada o salida y después abrimos el tipo de flujo.

Esto dentro de un tryCon catch que tenga una

IOException

Page 19: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

Flujos especificosPara abrir archivos usamos dos

clases:– File– FileInputStream– FileOutputStream

Page 20: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

FileEsta clase proporciona una

abstracción independiente para obtener información de un archivo, como:

– Su ruta– Carácter de separación– Tamaño– Fecha

Page 21: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

FileInputStreamProporciona una flujo de entrada

para acceder los datos del archivo.

Page 22: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

FileOutputStreamEs una clase que permite acceder

al archivo para escribir datos.

Page 23: Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.

EjemplosArchivo textoArchivo binarioArchivo de escritura