lunes, 25 de julio de 2016

034.- POO - Reutilización de Código - Java y NetBeans

REUTILIZACIÓN DE CÓDIGO:

La reutilización de código consiste en aprovechar lo que ya tenemos programado (así como aprovechar lo que han programado otros) para así poder finalizar los proyectos en menos tiempo.

La filosofía de esto es: ¿por qué programar lo que ya está programado?

A lo largo de la vida profesional de un programador, este se va haciendo con un conjunto de Clases que son capaces de generar objetos que pueden ser usados en los nuevos proyectos que el programador realice. Cuantas más clases coleccione, más herramientas dispondrá para crear los nuevos proyectos.

En esta hoja guiada veremos algunos ejemplos de cómo podemos aprovechar una Clase ya creada en un nuevo proyecto.


EJERCICIO GUIADO N° 1


  1. Crea un nuevo proyecto. El nombre del proyecto será Reutilizacion. Contendrá un paquete llamado paquetePrincipal y dentro de él introducirás un JFrame al que llamaremos VentanaPrincipal:




  1. Supongamos que en este proyecto queremos utilizar cuadros de diálogo para introducir fechas. Podemos aprovechar la clase DialogoFecha creada en la entrada anterior. Para ello, abre el proyecto llamado Dialogo Propio Fecha que hicimos en el post anterior.

Si despliegas el proyecto Dialogo Propio Fecha, tu ventana de proyectos tendrá un aspecto similar al siguiente:




Observarás que el proyecto Dialogo Propio Fecha incluye la clase DialogoFecha dentro de su paquete principal.


  1. Para poder aprovechar la clase DialogoFecha en el proyecto Reutilizacion, solo hay que copiar el fichero de la clase desde un proyecto a otro. Así pues copia DialogoFecha:




4. Y luego pega en el paquete principal del proyecto Reutilizacion:




  1. Observarás como se añade una copia de DialogoFecha al paquete principal del proyecto Reutilizacion.




A partir de ahora, podrás crear objetos de tipo DialogoFecha dentro del proyecto Reutilizacion y aprovechar sus características, sin tener que programar ningún código adicional.



  1. Cierra el proyecto Dialogo Propio Fecha para despejar un poco la ventana de Proyectos (clic derecho cerrar):




  1. Supongamos que necesitamos también la clase BotonContador creada en la entrada Nº 032 de este blog. Solo tendremos que abrir el proyecto llamado Botones Contadores, que se programó en dicho post.




  1. Y luego copiar la clase BotonContador desde Botones Contadores a Reutilizacion. Hágalo y luego cierre el proyecto Botones Contadores. Su ventana de proyectos debería quedar así:




  1. A partir de este momento, puede crear botones contadores y cuadros de diálogo de introducción de fechas en el proyecto Reutilizacion sin tener que haber programado ni una línea de código.

  1. Cuando tenemos proyectos de gran envergadura, es normal tener gran cantidad de ficheros de clases. Se hace necesario entonces organizarlos de alguna manera. Esto se hace a través de la creación de paquetes.

  1. Para ver esta idea en nuestro proyecto Reutilizacion, crearemos un nuevo paquete (botón derecho sobre Paquetes de Origen y luego Nuevo à Paquete Java):




  1. El nombre del paquete será elementosVentana. Su proyecto quedará así:




  1. En el nuevo paquete que hemos creado, introduciremos las clases BotonContador y DialogoFecha. De esta forma, tendremos organizadas nuestras clases. Por un lado la clase VentanaPrincipal en el paquetePrincipal, y por otro lado los elementos de las ventanas de creación propia en el paquete elementosVentana.

Para introducir las clases en el paquete elementosVentana puede hacerlo cortando y pegando.

Cuando intente pegar una clase en otro paquete aparecerá un cuadro de diálogo como el siguiente:



Pulsa el botón Refactorizar.

  1. Una vez movidas las dos clases al paquete elementosVentana, su proyecto debe quedar así:



Ahora tiene mejor clasificadas sus clases en su proyecto.

  1. Guarde el proyecto, pero no lo cierre, ya que se usará a continuación.





EJERCICIO GUIADO N° 2

En el ejercicio guiado N° 1 hemos visto como podemos añadir a nuestro proyecto clases que se hayan programado en otros proyectos, de forma que no tengamos que volverlas a programar.

El problema que plantea lo anterior, es que tenemos que acordarnos de donde fue programada la clase que quiero añadir al proyecto. Es decir, tengo que acordarme del proyecto que contiene la clase.

Sería muy interesante que nuestras clases las tengamos reunidas en un solo proyecto, para no tener que estar luego buscándolas por distintos proyectos.

Una Biblioteca en Java es un proyecto que contiene una serie de paquetes que a su vez contienen distintas clases que son normalmente usadas en nuestros proyectos. Al estar reunidas estas clases en un mismo sitio, son más fáciles de encontrar.

Veremos en este ejercicio guiado como crear una Biblioteca.


  1. Para crear una Biblioteca activa la opción Archivo à Nuevo Proyecto, y en la cuadro de opciones que aparece elige Java y Biblioteca de clases Java.




  1. Pulsa el botón Siguiente y asigna a la Biblioteca el nombre MisClases. Pulsa Terminar.



Observarás que ha aparecido un nuevo proyecto, llamado MisClases.


  1. A este nuevo proyecto le agregaremos el paquete elementosVentana que tenemos en el proyecto Reutilizacion. Solo hay que copiar:




  1. Y luego Pegar:




  1. Y el resultado es que hemos añadido un paquete a la biblioteca MisClases:




  1. Se puede agregar más paquetes de clases a la biblioteca. A medida que vayamos programando clases útiles para nuestro trabajo, deberíamos incluirlas en la biblioteca.

Se consigue así tener todas las clases reunidas en un solo proyecto.


  1. Cierre el proyecto Reutilizacion, pero no el proyecto MisClases porque lo usaremos a continuación.




EJERCICIO GUIADO N° 3

  1. Para facilitar la inclusión de una biblioteca en un proyecto, se suele compactar la biblioteca en un fichero de tipo JAR. Para conseguir esto, pulsa el botón de la barra de herramientas Limpiar y Construir proyecto:



  1. Al pulsar este botón, NetBeans compilará las distintas clases y buscará errores en ellas. Si no encuentra ninguno mostrará un mensaje en la parte inferior de la pantalla donde se indicará que la generación ha sido correcta:



  1. Si todo ha ido bien, se debe haber generado un fichero llamado MisClases.JAR que contiene toda la librería. Este fichero se encuentra en una carpeta llamada DIST que a su vez se encuentra dentro de la carpeta del proyecto.

  1. Abre el Explorador de Windows y busca la carpeta DIST, que se encontrará dentro de la carpeta del proyecto MisClases. Dentro de esa carpeta verás el fichero MisClases.JAR. Copia el fichero MisClases.JAR al escritorio.

Un programador ordenado guardará todos sus ficheros JAR de biblioteca en una carpeta que tendrá a mano. Para este ejemplo, hemos copiado el fichero MisClases.JAR en el escritorio.

  1. Dentro del NetBeans, cierre el proyecto MisClases.

  1. Crea un nuevo proyecto, que se llamará UsoBiblioteca. Dentro de él añade un paquetePrincipal y dentro del paquete principal un JFrame llamado VentanaPrincipal. El aspecto de su ventana de proyectos será el siguiente:




  1. Imagine que queremos usar en este proyecto la biblioteca anteriormente creada y compactada. Para ello, haz clic con el botón derecho sobre el elemento del proyecto llamado Bibliotecas y activa la opción Agregar Archivo JAR / Carpeta…:




  1. Busca en el escritorio el fichero MisClases.JAR y ábrelo.




  1. En este momento, la Biblioteca de clases llamada MisClases ha sido añadida a tu proyecto, y esto significa que podrás usar cualquier clase que contenga MisClases. Es decir, podrás usar la clase BotonContador y DialogoFecha para crear tus objetos, así como cualquier otra clase que estuviera incluida en MisClases.




  1. Resumiendo:

-       Un programador crea muchas clases propias a lo largo de su trabajo.
-       Estas clases pueden ser usadas en otros proyectos.
-       Es conveniente reunir las clases en paquetes, y reunir paquetes en bibliotecas (también llamadas librerías)
-       Las bibliotecas se pueden compactar en un solo fichero .JAR
-       Al incluir un fichero de biblioteca en un proyecto, puedes usar las clases que estén contenidas en dicha biblioteca.




CONCLUSIONES:

En NetBeans puedes abrir varios proyectos y copiar los ficheros de clases de uno a otro.

Si un proyecto tiene muchas clases, interesa clasificarlas en paquetes.

Es interesante reunir las clases que más uses en un solo proyecto de tipo biblioteca, para poder acceder a ellas fácilmente.

Una biblioteca se puede compactar en un solo fichero de tipo .JAR.

Al asociar un fichero de biblioteca .JAR a un proyecto, hacemos que en dicho proyecto se puedan usar las clases contenidas en dicha biblioteca.

Todas estas ideas hacen efectiva la reutilización de código, es decir, el aprovechar lo ya programado, para no tener que volverlo a programar.


No hay comentarios.:

Publicar un comentario