unidad 2 reutilizaciÓn de clases programación orientada a objetos m.s.c. ivette hernández dávila

Post on 23-Jan-2016

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Unidad 2REUTILIZACIÓ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

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.

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.

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.

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.

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

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.

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».

FLUJOS EN JAVA

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.

DataInputStreamEs un clase que proporciona flujos de

entrada, que permite convertir los datos a tipos primitivos.

Usa los siguientes métodos:

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

DataOutputStreamEs un flujo de salida que permite convertir

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

Sus métodos son:

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

PrintStreamProporciona un filtro de salida

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

En modo texto.Funciona parecido el println de la

consola.

Cerrando FlujosPara cerrar un flujo , usamos el

método: close().

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

Flujos especificosPara abrir archivos usamos dos

clases:– File– FileInputStream– FileOutputStream

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

FileInputStreamProporciona una flujo de entrada

para acceder los datos del archivo.

FileOutputStreamEs una clase que permite acceder

al archivo para escribir datos.

EjemplosArchivo textoArchivo binarioArchivo de escritura

top related