Sunteți pe pagina 1din 23

Unidad 2

REUTILIZACIN DE CLASES
Programacin Orientada a
Objetos
M.S.C. Ivette Hernndez Dvila

Reutilizacin de clases
Composicin
Utilizar

objetos como miembros de otros

objetos
Herencia
Especializacin o extensin de una clase
para crear otra nueva

Reutilizacin de cdigo.
Composicin
La

forma ms directa de usar una clase de


objetos es creando objetos concretos.
Relacin Tiene-un: Tambin se puede decidir
que un elemento concreto compone a otro
tipo de objetos ms 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 mtodo
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 lmpara, su
codificacin quedara 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 ms objetos.

Composicin
Consiste

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 mtodo que lo
convierta en String. Este mtodo se llama
toString(), y debe retornar un String.

Ejemplos:
clase

Punto y clase Crculo


Punto.java
Circulo.java

Reutilizacin de cdigo.
Herencia
Relacin

es-un: En O.O. Se permite coger


una clase, crear un copia idntica 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 (tambin
llamada clase heredera, derivada o hija),
tambin 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

FLUJOS
Flujo

de Entrada/Salida proporciona un
camino a travs 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.

DataInputStream
Es

un clase que proporciona flujos de


entrada, que permite convertir los datos a
tipos primitivos.
Usa los siguientes mtodos:

Mtodos del
DataInputStream:
readBoolean();

lee un boleano
readByte(); lee un byte de 8 bits
readUnsignedByte(); lee un byte de 8 bits
sin signo
readShort(); lee un short de 16 bits
readChar(); lee un char de 16 bits
readInt(); lee un entero de 32 bits
readLong(); lee un long de 64 bits
readFloat(); lee un float de 32 bits
readDouble(); lee un double de 64 bits
readLine(); lee una lnea de texto

DataOutputStream
Es

un flujo de salida que permite convertir


los datos de tipo primitivo a un flujo de bytes
de salida.
Sus mtodos son:

Mtodos de
DataOutputStream
writeBoolean(Boolean);

Escribe un booleano
writeByte(Byte); Escribe un byte de 8 bits
writeShort(int); Escribe un short de 16 bits
writeChar(char); Escribe un char de 16 bits
writeInt(int); Escribe un int de 32 bits
writeLong(long); Escribe un long de 64 bits
writeFloat(float); Escribe un float de 32 bits
writeDouble(double); Escribe un double de 64 bits
writeBytes(String); Escribe una cadena como una
secuencia de bytes
writeChars(String); Escribe una cadena como una
secuencia de caracteres de 16 bits

PrintStream
Proporciona

un filtro de salida
que permite desplegar, nmeros,
valores, cadenas etc.
En modo texto.
Funciona parecido el println de la
consola.

Cerrando Flujos
Para

cerrar un flujo , usamos el


mtodo: close().

Abriendo Flujos
Para

abrir un flujo, primero


creamos un Objeto como flujo de
entrada o salida y despus
abrimos el tipo de flujo.
Esto dentro de un try
Con catch que tenga una
IOException

Flujos especificos
Para

abrir archivos usamos dos


clases:
File
FileInputStream
FileOutputStream

File
Esta

clase proporciona una


abstraccin independiente para
obtener informacin de un
archivo, como:
Su ruta
Carcter de separacin
Tamao
Fecha

FileInputStream
Proporciona

una flujo de entrada


para acceder los datos del
archivo.

FileOutputStream
Es

una clase que permite acceder


al archivo para escribir datos.

Ejemplos
Archivo

texto
Archivo binario
Archivo de escritura

S-ar putea să vă placă și