Programación Orientada a Objetos

16
Programación Orientada a Objetos Unidad 5 Paquetes

description

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. - PowerPoint PPT Presentation

Transcript of Programación Orientada a Objetos

Page 1: Programación Orientada a Objetos

Programación Orientada a Objetos

Unidad 5 Paquetes

Page 2: Programación Orientada a Objetos

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

Page 3: Programación Orientada a Objetos

3

Paquete

Un paquete (packagepackage) 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)

Page 4: Programación Orientada a Objetos

4

Principales Paquetes de Java

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

Page 5: Programación Orientada a Objetos

5

Jerarquía de Paquetes

Los nombres de paquetes son jerárquicos Ejemplo: java.awt.eventjava.awt.event

Las clases deben residir en un subdirectorio que mapea el nombre del paquete Ejemplo: Una clase que pertenece al

paquete java.awt.eventjava.awt.event debe estar ubicada en el subdirectorio java\awt\eventjava\awt\event

Los subdirectorios donde comienzan los paquetes pueden estar ubicados en cualquier parte del sistema de archivos

Page 6: Programación Orientada a Objetos

6

La variable classpath

La variable classpath 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 directorio1;directorio2;… Programa.java

Page 7: Programación Orientada a Objetos

7

1. Para agregar una clase a un paquete se utiliza la sentencia packagepackage 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

Clases en un Paquete

Page 8: Programación Orientada a Objetos

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

Page 9: Programación Orientada a Objetos

9

Clases Públicas y No Públicas

Una clase debe declararse publicpublic 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

Page 10: Programación Orientada a Objetos

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 importimport

Page 11: Programación Orientada a Objetos

11

Nombres Calificados

Ejemploclass 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

Page 12: Programación Orientada a Objetos

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.*;

Page 13: Programación Orientada a Objetos

13

Sentencia import

Ejemploimport 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

Page 14: Programación Orientada a Objetos

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

Page 15: Programación Orientada a Objetos

15

Archivos JAR y ZIP

Es posible agregar archivos .JAR.JAR (formato similar a .ZIP) y .ZIP.ZIP a la variable CLASSPATH

SET 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.

Page 16: Programación Orientada a Objetos

16

Resumen

Un paquete (packagepackage) es una colección de clases e interfaces relacionadas

Los nombres de paquetes son jerárquicos

La variable de ambiente CLASSPATHCLASSPATH es usada para indicar donde buscar los paquetes

La sentencia packagepackage es usada para incluir una clase en un paquete

La sentencia importimport hace más sencillo hacer referencia a clases en un paquete