Programación Orientada a Objetos

Post on 08-Jan-2016

24 views 0 download

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

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 (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)

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

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

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

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

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

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

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

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

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

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

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