1 / 16

Programación Orientada a Objetos

Programación Orientada a Objetos. Unidad 5 Paquetes. Temario. 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. Paquete.

darby
Download Presentation

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. Programación Orientada a Objetos Unidad 5 Paquetes

  2. Temario • 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

  3. Paquete • Un paquete (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: • Evitar conflictos de nombres (un gran problema al desarrollar código reusable) • Control del nivel de acceso (encapsulación)

  4. java.applet java.awt java.beans java.io java.lang java.math java.net java.rmi java.security java.sql java.text java.util javax.naming javax.print javax.swing javax.xml Principales Paquetes de Java

  5. Jerarquía de Paquetes • Los nombres de paquetes son jerárquicos • Ejemplo: java.awt.event • Las clases deben residir en un subdirectorio que mapea el nombre del paquete • Ejemplo: Una clase que pertenece al paquete java.awt.event debe estar ubicada en el subdirectorio java\awt\event • Los subdirectorios donde comienzan los paquetes pueden estar ubicados en cualquier parte del sistema de archivos

  6. La variable classpath • La variable classpathesutilizadaparaindicar la raíz de los paquetesque se usarándurante la compilación/ejecución • Ej. javc/java –classpath directorio1;directorio2;… Programa.java

  7. Clases en un Paquete • Para agregar una clase a un paquete se utiliza la sentencia packagecomo 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 } • Se almacena la clase en un subdirectorio que mapea el nombre del paquete

  8. Estructura de Directorios • 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

  9. Clases Públicas y No Públicas • 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 } • Una clase no pública sólo es accesible por otras clases del mismo paquete

  10. Acceso a Paquetes • Una clase tiene acceso directo a: • 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: • Usar nombres de clases totalmente calificados • Utilizar la sentencia import

  11. Nombres Calificados • Ejemplo class MiApp { public static void main(String[] args){ com.msoft.math.Matrice m; m = new com.msoft.math.Matrice(); ...} } • Si CLASSPATH está definida así: set CLASSPATH=C:\java\classes;C:\lib;. • ... entonces la clase Matrice es buscada en los siguientes directorios: • C:\java\classes\com\msoft\math • C:\lib\com\msoft\math • .\com\msoft\math

  12. Sentencia import • 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: • una clase específica de un paquete import com.msoft.math.Matrice; • todas las clases de un paquete import com.msoft.math.*;

  13. Sentencia import • Ejemplo import com.msoft.math.*; class MiApp { public static void main(String[] args){ Matrice m = new Matrice(); ...} } • Si CLASSPATH está definida así: set CLASSPATH=C:\java\classes;C:\lib;. • ... entonces la clase Matrice es buscada en los siguientes directorios: • C:\java\classes, C:\lib, . • C:\java\classes\com\msoft\math, C:\lib\com\msoft\math, .\com\msoft\math

  14. El Paquete Default • 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

  15. Archivos JAR y ZIP • Es posible agregar archivos .JAR (formato similar a .ZIP) y .ZIP a la variable CLASSPATHSET CLASSPATH=C:\java\classes;C:\j2ee14\lib\j2ee.jar • 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 J2SDK, permite manejar archivos .JAR.

  16. Resumen • Un paquete (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

More Related