25 de marzo de 2012

Ejemplo uso de Archivos en Java

Para hacer uso de archivos desde Java, es importante definir los casos y el modo en que quiero almacenar la información. Para el ejemplo que anexo en esta entrada he decidido guardar los objetos de clases diferentes en  archivos "binarios" por aparte.

En este ejemplo he creado una clase "FileBinarios.java" con un atributo adicional para guardar la ruta del archivo que le corresponda al objeto creado y además adaptando a los métodos de tal modo que reciban y devuelvan una lista de elementos (colección ArrayList) para los casos de almacenar y leer la información del archivo que corresponda. Para implementar su uso se toma la clase Persona y desde el main se hace uso de la clase "FileBinarios" tal como se hacia desde el ejemplo de Nik pero con la clase adaptada y además se implemento una clase Libros y una clase Biblioteca con el fin de presentar el uso de la clase FileBinarios para almacenar datos en otro archivo y desde la clase Biblioteca (encapsulando el uso del archivo que se relaciona con la clase).

El ejemplo es un proyecto de netbeans que lo pueden descargar de: http://db.tt/jPZQqsOe  y espero aporte a la construcción de su proyecto final.


He tomado como base el ejemplo publicado por "Nik Tutos" en su canal de youtube, ejemplos que ya antes había referenciado en mi blog (ver: uso de archivos).  

9 de marzo de 2012

Herencia en la POO

La herencia es una de las características propias de la POO, el concepto principal plantea el crear una clase a  partir de una clase existente de tal forma que la nueva clase (subclase) "hereda" todos los atributos y métodos de la clase original (superclase) y además en la nueva subclase se podrán definir nuevos atributos y métodos que especifican la necesidad de utilizar este mecanismo de la POO.


Este concepto permite crear lo que se denomina estructura jerárquica de clases que de acuerdo al dominio del problema que se contextualice podrá tener un gran nivel de detalle. Además, el concepto también permite reutilización de clases de librerías existentes que se pueden especializar en subclases propias de nuestro programa.

Para profundizar en este concepto sugiero que hagan la siguiente lectura: Herencia en POO

Basado en dichos conceptos:
  • ¿Cómo aplicar estos conceptos en JAVA?
  • ¿Qué tipo de herencia puedo manejar en JAVA?
  • Revise aqui el ejemplo de Herencia, analice la estructura de código que le permite aplicar el concepto.
  • Realice el siguiente Taller: 
    Diseñar, documentar y entregar un caso donde se aplique el concepto de herencia. El caso a entregar debe contemplar:

    1- Requerimiento del problema (enunciado donde mencione cual es el contexto del problema, que clases debe tener en cuenta, sus atributos y métodos). El problema sobre el cual aplique el concepto debe ser abstraido del tema de su proyecto. 
    2 - Diagrama de Clases. (Pueden trabajarlo en yuml.me o utilizar un programa llamado DIA)
    3 - Construir un proyecto en Java que implemente las clases y aplique el concepto de herencia (se sugiere revisar el ejemplo proporcionado).

    Se evaluará cumplimiento en la entrega, originalidad del ejemplo, manejo de conceptos, complejidad del ejemplo, presentación, codificación.

    La entrega debe realizarse creando una carpeta en dropbox (carpeta compartida) con el nombre y código. En dicha carpeta debe tener organizado los elementos a entregar (carpeta del proyecto, Diagrama de clases, enunciado del problema en word). De clic aquí para crear su cuenta: http://db.tt/oFXA2Ic


    Fecha de entrega:   Viernes 16 de marzo (hora de clase)

    Vale por el 20% del porcentaje asignado al proyecto!!!

30 de enero de 2012

Ejercicio: Agenda de Contactos



Una agenda personal consta de un calendario con la posibilidad de almacenar eventos. Cada evento vendrá definido por una fecha y un asunto. Se pide implementar en JAVA haciendo uso del Paradigma de Orientación a Objetos un programa con las siguientes partes:

    1. Una clase Evento cuyos objetos representen los eventos de la agenda. Los objetos de esta clase contendrán un asunto de tipo string y una fecha en la que se produce el evento.
    1. Una clase Calendario que contenga un vector de eventos, el número de eventos insertados y que tenga la siguiente funcionalidad:
      1. Al construir el calendario se debe determinar cuántos son los eventos del mismo.
      2. Mostrar todos los eventos del calendario.
      3. Insertar un evento, recibido como parámetro, al final de los ya insertados.
    1. Un programa principal (Agenda) que:
      1. Cree un objeto de la clase Calendario, con dos eventos.
      2. Cree dos objetos de la clase Evento. El primero con fecha 13/05/2012 y asunto ‘Previo de POO’ y el segundo con fecha 17/06/2012 con asunto ‘Nueva evaluación de POO’.
      3. Inserte los objetos creados en el calendario.
      4. Muestre por pantalla los eventos del calendario.