Programacin Orientada a Objetos Unidad 5 Paquetes Temario
Programación Orientada a Objetos Unidad 5 Paquetes
Temario n n n n Paquetes como módulos La variable CLASSPATH Incluyendo una clase en un paquete Estructura de directorios Clases públicas y no públicas Acceso y uso de paquetes La sentencia import Archivos. JAR 2
Paquete n n n Un paquete (package) package es una colección de clases e interfaces relacionadas Un paquete puede asociarse al concepto de módulo en software Mecanismo de agrupación con dos propósitos principales: n n Evitar conflictos de nombres (un gran problema al desarrollar código reusable) Control del nivel de acceso (encapsulación) 3
Principales Paquetes de Java n n n n java. applet java. awt java. beans java. io java. lang java. math java. net java. rmi n n n n java. security java. sql java. text java. util javax. naming javax. print javax. swing javax. xml 4
Jerarquía de Paquetes n Los nombres de paquetes son jerárquicos n n Las clases deben residir en un subdirectorio que mapea el nombre del paquete n n Ejemplo: java. awt. event Ejemplo: Una clase que pertenece al paquete java. awt. event debe estar ubicada en el subdirectorio javaawtevent Los subdirectorios donde comienzan los paquetes pueden estar ubicados en cualquier parte del sistema de archivos 5
La variable classpath n n La variable classpath es utilizada para indicar la raíz de los paquetes que se usarán durante la compilación/ejecución Ej. javc/java –classpath directorio 1; directorio 2; … Programa. java 6
Clases en un Paquete 1. Para agregar una clase a un paquete se utiliza la sentencia package como la primera sentencia del archivo fuente (convención para el nombre del paquete: dominio de la empresa invertido + sistema + subsistema + …) package cl. sii. renta; public class Empresa { // implementación de la clase } 2. Se almacena la clase en un subdirectorio que mapea el nombre del paquete 7
Estructura de Directorios n n La empresa Taranis tiene un paquete gráfico con la clase Rectangle El archivo puede tener una clase pública y varias no públicas; el compilador genera los archivos. class 8
Clases Públicas y No Públicas n Una clase debe declararse public para ser accesible por clases de otros paquetes package cl. sii. renta; public class Empresa { // implementación de la clase } n Una clase no pública sólo es accesible por otras clases del mismo paquete 9
Acceso a Paquetes n Una clase tiene acceso directo a: n n n Clases que se encuentran en el paquete java. lang (ej: String) Otras clases del mismo paquete Hay dos formas de acceder a clases que se encuentran en otros paquetes: n n Usar nombres de clases totalmente calificados Utilizar la sentencia import 10
Nombres Calificados n Ejemplo class Mi. App { public static void main(String[] args) { com. msoft. math. Matrice m; m = new com. msoft. math. Matrice(); . . . } } n Si CLASSPATH está definida así: set CLASSPATH=C: javaclasses; C: lib; . n . . . entonces la clase Matrice es buscada en los siguientes directorios: n n n C: javaclassescommsoftmath C: libcommsoftmath 11
Sentencia import n n n Facilita la referencia a clases de un paquete Permite que las clases de un paquete sean referenciadas solamente por el nombre de la clase Es posible importar: n una clase específica de un paquete import com. msoft. math. Matrice; n todas las clases de un paquete import com. msoft. math. *; 12
Sentencia import n Ejemplo import com. msoft. math. *; class Mi. App { public static void main(String[] args) { Matrice m = new Matrice(); . . . } } n Si CLASSPATH está definida así: set CLASSPATH=C: javaclasses; C: lib; . n . . . entonces la clase Matrice es buscada en los siguientes directorios: n n C: javaclasses, C: lib, . C: javaclassescommsoftmath, C: libcommsoftmath, . commsoftmath 13
El Paquete Default n n Una clase que no utiliza la sentencia package forma parte del "paquete default", un paquete sin nombre Es decir, todas las clases que no utilizan la sentencia package pertenecen a un mismo paquete 14
Archivos JAR y ZIP n Es posible agregar archivos. JAR (formato similar a. ZIP) y. ZIP a la variable CLASSPATH SET CLASSPATH= C: javaclasses; C: j 2 ee 14libj 2 ee. jar n n La estructura de directorios interna de los archivos. JAR y. ZIP es utilizada como una estructura de directorios normal El comando jar, parte de los utilitarios de J 2 SDK, permite manejar archivos. JAR. 15
Resumen n n Un paquete (package) package es una colección de clases e interfaces relacionadas Los nombres de paquetes son jerárquicos La variable de ambiente CLASSPATH es usada para indicar donde buscar los paquetes La sentencia package es usada para incluir una clase en un paquete La sentencia import hace más sencillo hacer referencia a clases en un paquete 16
- Slides: 16