1 / 23

Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos

Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos. M.S.C. Ivette Hernández Dávila. Reutilización de clases. Composición Utilizar objetos como miembros de otros objetos Herencia Especialización o extensión de una clase para crear otra nueva.

soo
Download Presentation

Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Reutilización de clases • Composición • Utilizar objetos como miembros de otros objetos • Herencia • Especialización o extensión de una clase para crear otra nueva

  3. Reutilización de código. Composición • La 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.

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

  5. 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: publicclassLamparaDeMesa { private Bombillo bombilloLampara; privateSuicheinterruptorLampara; ..... } • 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.

  6. Composición • 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 método que lo convierta en String. Este método se llama toString(), y debe retornar un String.

  7. Ejemplos: • clase Punto y clase Círculo • Punto.java • Circulo.java

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

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

  10. FLUJOS EN JAVA

  11. FLUJOS • Flujo 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.

  12. DataInputStream • Es un clase que proporciona flujos de entrada, que permite convertir los datos a tipos primitivos. • Usa los siguientes métodos:

  13. Métodos 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 línea de texto

  14. DataOutputStream • Es un flujo de salida que permite convertir los datos de tipo primitivo a un flujo de bytes de salida. • Sus métodos son:

  15. Métodos 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

  16. PrintStream • Proporciona un filtro de salida que permite desplegar, números, valores, cadenas etc. • En modo texto. • Funciona parecido el println de la consola.

  17. Cerrando Flujos • Para cerrar un flujo , usamos el método: close().

  18. Abriendo Flujos • Para 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 try • Con catch que tenga una IOException

  19. Flujos especificos • Para abrir archivos usamos dos clases: • – File • – FileInputStream • – FileOutputStream

  20. File • Esta clase proporciona una abstracción independiente para obtener información de un archivo, como: • – Su ruta • – Carácter de separación • – Tamaño • – Fecha

  21. FileInputStream • Proporciona una flujo de entrada para acceder los datos del archivo.

  22. FileOutputStream • Es una clase que permite acceder al archivo para escribir datos.

  23. Ejemplos • Archivo texto • Archivo binario • Archivo de escritura

More Related