Logo Studenta

Práctica 6 V1

¡Este material tiene más páginas!

Vista previa del material en texto

Carátula para entrega de prácticas 
 
 
Facultad de Ingeniería 
 
 
Laboratorio de docencia 
 
 
Laboratorios de computación 
salas A y B 
 
 
Profesor: Saavedra Hernández Honorato Ing. 
 
Asignatura: Programación Orientada a Objetos 
 
Grupo: 1 
 
No de Práctica(s): 6 
 
Integrante(s): 
Ayala Trejo Albanya Yendalli Téllez González Jorge Luis 
Méndez Costales Luis Enrique Villamar Cortes Juan Antonio 
Santana Sánchez María Yvette Zecua Salinas Juan Carlos 
Téllez González Jorge Luis 
Villamar Cortes Juan Antonio 
Zecua Salinas Juan Carlos 
No. de Equipo de 
cómputo empleado: 7, 8, 13, 14, 15 y 16. 
 
No. de Lista o Brigada: 
 
Semestre: 2020-2 
 
Fecha de entrega: 16/03/2020 
 
Observaciones: 
 
 
 
 
 CALIFICACIÓN: __________ 
Facultad de Ingenierı́a Programación Orientada a Objetos
Índice
1. Introducción 2
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Paquetes 2
2.1. Importar Paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1. Paquetes Propios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Compilación y ejecución de clases en paquetes . . . . . . . . . . . . . . . . . . . . . . . 5
3. Documentación 6
4. Distribución de aplicaciones 8
5. Conclusiones 10
1
Facultad de Ingenierı́a Programación Orientada a Objetos
1. Introducción
En esta práctica se desglosarán los temas relacionados con las bibliotecas estándar: estas bibliotecas se
encuentran organizadas en jerarquı́as de paquetes, las cuales ayudan a los programadores a encontrar clases
particulares que necesiten en determinadas situaciones.
Varias clases pueden tener el mismo nombre si se encuentran en paquetes diferentes, logrando en-
capsular grupos pequeños de clases en paquetes individuales. De esta manera, se permite reusar el nombre
de una clase dada en otros ámbitos.
1.1. Objetivos
Conocer la funcionalidad de los paquetes de Java y cómo organizar las clases, de las que necesitemos
para realizar ciertas tareas con sus métodos, en un solo lugar para utilizarlas de forma eficiente.
2. Paquetes
Un paquete es una agrupación de clases. Las bibliotecas de Java contienen miles de paquetes, es por esto,
que Java utiliza paquetes para acomodar las clases de biblioteca en grupos que permanezcan juntos. Estos
paquetes se pueden encontrar en las clases del API y tienen una jerarquı́a: esto facilita encontrar clases
particulares. Los paquetes se usan para los siguientes puntos:
Agrupar clases relacionadas.
Evitar conflictos de nombres.
Ayudar en el control de accesibilidad de clases y miembros.
Figura 1: Jerarquı́a de paquetes.
2
Facultad de Ingenierı́a Programación Orientada a Objetos
El nombre completo o nombre calificado (Fully Qualified Name) de una clase debe ser único y
estar formado por el nombre de la clase, seguido de los nombres de los sub-paquetes en donde se encuentra,
hasta llegar al paquete principal separados por puntos.
Un ejemplo es el uso de java.util.Random el cuál es el nombre completo de la clase Random que se
obtiene dentro del paquete java.util.
2.1. Importar Paquetes
Para disponer de alguna clase en una aplicación, se debe indicar en el código que se usará una clase de la
biblioteca usando su Fully Qualified Name.
Figura 2: Uso de la clase Random.
Para hacer que las clases en un paquete particular estén disponibles para el programa, es necesario
importar el paquete: esto permite abreviar los nombres de las clases, variables y métodos, evitando el tener
que escribir continuamente el nombre completo de la clase.
La sentencia import deben ir antes de la declaración de la clase:
import fullyQualifiedName;
Figura 3: Uso de la clase Random con la sintáxis adecuada.
Java también permite importar paquetes completos con sentencias de la forma:
import nombreDePaquete.*;
3
Facultad de Ingenierı́a Programación Orientada a Objetos
Por ejemplo, la siguiente sentencia importarı́a todas las clases del paquete java.util:
import java.util.*;
Es importante mencionar que, al importar un paquete, no se cargan todas las clases del paquete, sino que
sólo se cargarán las clases public del paquete.
Al importar un paquete no se importan los sub-paquetes, estos deben ser importados explı́citamente.
Por ejemplo, al importar java.awt no se importa java.awt.event, ya que se considera un paquete distinto.
Algunas clases se usan tan frecuentemente que casi todas las clases debieran importarlas. Estas
clases se han ubicado en el paquete java.lang y este paquete se importa automáticamente dentro de cada
clase.
2.1.1. Paquetes Propios
En el entorno de Java pueden crearse paquetes propietarios para organizar clases creadas previamente por
el programador.
Para que una clase se convierta en un paquete, lo que debe hacerse es que, en la primera lı́nea de
nuestra clase, se declare la sentencia:
package nombreDelPaquete;
Para que un paquete se cree correctamente, todas las clases que lo conforman deben de estar guardadas
en un mismo directorio. Los nombres compuestos de los paquetes están relacionados con la jerarquı́a de
directorios en que se guardan las clases, además, es recomendable que los nombres de las clases sean únicos.
Es el nombre del paquete lo que permite obtener esta caracterı́stica.
Figura 4: Paquete propietario creado.
4
Facultad de Ingenierı́a Programación Orientada a Objetos
2.2. Compilación y ejecución de clases en paquetes
Cuando se trabaja en Java es usual que, cuando se compila un archivo .class, este no se encuentre en el
destino correspondiente. Sin embargo, existe la opción de solicitar al compilador de java que lo envı́e al
paquete donde se requiera. Para hacer lo antes mencionado, en consola se coloca la siguiente leyenda:
javac-d rutaOrigen archivoFuente
Figura 5: Uso de paquetes propietarios en una clase.
Figura 6: Mismo código pero con el nombre del package diferente.
En la carpeta Java existen estas tres carpetas, pero se elige como destino a la carpeta poo. Como los
packages no existı́an, el compilador automáticamente los crea con el archivo .class dentro de ellos.
Finalmente, para ejecutar la clase compilada se accede a la carpeta haciendo uso de su Fully Qua-
lified Name. desde la ruta origen.
Figura 7: Carpeta de destino.
Figura 8: Proceso de ejecución.
5
Facultad de Ingenierı́a Programación Orientada a Objetos
3. Documentación
La documentación es un parte muy esencial y fundamental de las definiciones de clases y de las interfaces,
con el fin deobtener un código de una excelente calidad y presentación. La documentación ayuda al progra-
mador a transmitir o comunicar sus intenciones a la persona o sujeto en un lenguaje nativo de alto nivel, en
vez de leer codigo de bajo nivel que a veces puede llegar a ser confuso o tedioso.
Java cuenta con una herramienta clave para la documentación llamada Javadoc, que forma parte del
paquete del kit de desarrollo (JDK). Esta herramienta nos ayuda a generar la documentación de clases en
formato HTML con un estilo consistente.
Los comentarios en Javadoc están definidos por “ /** y */ “ . Al igual que otros lenguajes de
programación, el compilador ignora todos estos comentarios.
Los elementos de una clase que se documentara son:
La definición de la clase.
Sus campos.
Sus constructores.
Sus métodos.
Desde la perspectiva del usuario, lo más destacado e importante de una clase es que cuente con su
documentación sobre sus constructores y métodos públicos. Cabe señalar que Javadoc también soporta el
uso de etiquetas HTML en sus comentarios.
La descripción principal de las clases debe tener una especificación del objetivo general de dicha
clase. La descripción de un método debe de ser bastante general, sin introducir muchos detalles de lo que
se encuentra dentro del mismo. En general, la descripción principal de un método es primordialmente una
única oración.
Figura 9: Especificaciónde la acción de un método.
Las etiquetas @author y @version se encuentran principalmente en los comentarios de una clase
o de una interfaz y no puede ser utilizados en los comentarios de métodos, constructores o campos. Las
etiquetas @param y @throws se usan en métodos y constructores, mientras que sólo @return se utiliza en
6
Facultad de Ingenierı́a Programación Orientada a Objetos
Figura 10: Etiquetas más usadas en Javadoc.
métodos. La etiqueta @see se puede adoptar de formas diferentes y puede llegar a utilizarse en cualquier
comentario de documentación.
Para generar la documentación con Javadoc, primero se debe editar el código fuente y luego colocar
los comentarios previstos a colocar. Una vez hecho esto, se puede empezar a generar la documentación
correspondiente. Un ejemplo claro se muestra a continuación, con la clase “Ejemplo01”.
Figura 11: Ejemplo de documentación.
7
Facultad de Ingenierı́a Programación Orientada a Objetos
La documentación generada se encontrará en el directorio de documentación y se puede revisar
abriendo el archivo index.html con cualquier navegador. Como puede observarse, aquı́ se encuentra la do-
cumentación con Javadoc de la clase “Ejemplo 01”:
Figura 12: Documentación generada.
4. Distribución de aplicaciones
Una aplicación creada en Java consiste en varios archivos .java. Durante el proceso de compilación, se
obtienen varios archivos .class. Además, se tienen los diversos archivos que la aplicación pueda requerir
para su ejecución. Esto da lugar a que trasladar una aplicaxión de un entorno de trabajo a otro resulte un
proceso engorroso y no exento de errores.
Los archivos JAR o Java Archives solucionan tal inconveniente comprimiendo todos los archivos
que formen parte de una aplicación en un único archivo. A diferencia de un archivo .zip, no se requiere
descomprimir los archivos para ser utilizados y el intérprete puede ejecutar los archivos comprimidos de
forma directa.
8
Facultad de Ingenierı́a Programación Orientada a Objetos
Los archivos JAR contienen una estructura de directorios con clases, lo que permite:
Utilizar clases de forma eficiente en un único archivo. Declaración eficiente de clases por medio de
la variable CLASHHPATH.
Usar herramientas disponibles en el JDK que permiten generar, observar y descomprimir archivos
JAR.
Estos archivos contienen todos los archivos de clases y recursos de una aplicación, como pueden
ser: archivos .class generados, recursos de texto, video, audio, el código fuente, ası́ como documentación
adicional o archivos de configuración META-INF o MANIFEST.MF.
Un archivo JAR debe de incluir en su MANIFEST.MF una lı́nea que indique la clase principal que
contenga al método main(), agregando un salto de lı́nea para asegurar la correcta ejecución de la aplicación.
En el seguiente ejemplo, se utiliza el IDE NetBeans para crear un archivo JAR de un proyecto. Ha-
ciendo click derecho sobre el nombre del mismo, y yendo a la opción properties, en la opción denominada
Build−> Packaging, se selecciona la casilla CompressJAR f ile en el recuadro derecho.
Figura 13: Creación de archivos JAR en NetBeans.
Utilizando la herramienta BuildPro ject del IDE, el archivo JAR se creará en la subcarpeta dist
del proyecto; recordando que los proyectos se ubican en la carpeta NetBeansProjects generada durante la
instalación del IDE.
9
Facultad de Ingenierı́a Programación Orientada a Objetos
Figura 14: Creación de archivos JAR en NetBeans.
5. Conclusiones
Finalmente, consideramos que los objetivos planteados en esta práctica fueron cubiertos exitosamente, que-
dando claro el funcionamiento de los paquetes en el lenguaje de programación Java. En términos generales
esta práctica fue muy sencilla e interesante ya que contamos con una herramienta llamada Javadoc la cual
nos ayuda a generar la documentación de clases, con un estilo consistente.
Referencias
[1] Organización de clases. Recuperado de: http://lcp02.fi-b.unam.mx/static/docs/PRACTICAS_
POO/poo_p6.pdf. Fecha de consulta: 29/02/2020.
Los créditos de las fotografı́as pertenecen a sus respectivos autores. c©
LATEX
10
http://lcp02.fi-b.unam.mx/static/docs/PRACTICAS_POO/poo_p6.pdf
http://lcp02.fi-b.unam.mx/static/docs/PRACTICAS_POO/poo_p6.pdf

Continuar navegando

Materiales relacionados

274 pag.
318 pag.
JAVA_en_21_dias

ULT

User badge image

Manuel Rodrigues Monameo

175 pag.