Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

18
Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR

Transcript of Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Page 1: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Lenguaje de Programación II

Manejo de Paquetes

Corporación Universitaria del Caribe CECAR

Page 2: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Introducción◦Cuando hacemos aplicaciones que involucran

muchas clases, suele suceder que nos perdemos al buscar la ubicación de las clases o se encuentran en el mismo lugar clases que no tienen relación unas con otras.

◦Cada vez tenemos más y más clases. Meterlas todas en el mismo directorio no suele ser bonito.

◦Es mejor hacer grupos de clases, de forma que todas las clases que traten de un determinado tema o estén relacionadas entre sí vayan juntas.

Page 3: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Definición de paquetes◦Un Paquete en Java es un contenedor de

clases que permite agrupar las distintas partes de un programa cuya funcionalidad tienen elementos comunes.

◦Son el mecanismo por el que Java permite agrupar clases, interfaces, excepciones y constantes.

◦Un paquete no es más que un conjunto o ruta de directorios en los cuales se almacenaran nuestras clases, quedando en un mismo directorio las clases que tengan relación entre ellas.

Page 5: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Ventajas del uso de paquetes

•Agrupamiento de clases con características comunes.

1

•Reutilización de código.

2 •Mayor seguridad al existir niveles de acceso.

3

• Incrementa la facilidad para localizar y controlar los accesos a las clases e interfaces

4 •resuelven el problema del conflicto entre los nombres de las clases.

5

Page 6: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Ejemplos de paquetes

Page 7: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Ejemplos de paquetes

Page 8: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Contenido de los paquetes

Paquete

Clases

Interfaces Otros paquetes

Archivos con

recursos adicionale

s (imágenes

)

Page 9: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Creación de un paquete (Declaración)

• se utiliza la sentencia package seguida del nombre del paquete que estemos creando

package NombrePaquete;

• la sentencia de declaración de paquete ha de ser la primera en un archivo fuente Java

• Por ejemplo, para incluir la clase Rectangulo dentro del paquete geometria:

Page 10: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.
Page 11: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Creación de un paquete (Nomenclatura)

– Por convención se recomienda usar el nombre invertido del dominio de Internet y si hace falta se le agrega la región

se propone asignar como paquetes y subpaquetes el nombre de dominio dentro de Internet.

Ejemplo: para un dominio que se llamase japon.magic.com, un nombre apropiado sería

com.magic.japon.paquete.

com.compañia.nombrePaquetecom.compañia.region.nombrePaquete

Page 12: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Uso de un paquete– se utiliza la sentencia import seguida del

nombre de paquete o paquetes a importar.

• Para importar todas las clases e interfaces de un paquete se utiliza el metacaracter *

• import PaquetePrueba.*;

Importar todos los

elementos

• import Paquete.Subpaquete1.Clase1;

Importar uno o

algunos de los

elementos de un paquete.

Page 13: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Paquetes estándar

Paquete Descripción

java.appletContiene las clases necesarias para crear applets que se ejecutan en la ventana del navegador

java.awtContiene clases para crear una aplicación GUI independiente de la plataforma

java.io Entrada/Salida. Clases que definen distintos flujos de datos

java.langContiene clases esenciales, se importa impícitamente sin necesidad de una sentencia import.

java.netSe usa en combinación con las clases del paquete java.io para leer y escribir datos en la red.

java.util Contiene otras clases útiles que ayudan al programador

Page 14: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.
Page 15: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Modificadores de acceso/* Archivo A.java Ejemplo que explica el nivel de acceso publico */

package p1;public class A { public int x = 10; // Atributo publico /*Método publico */ public void visualizar() {

System.out.println("Valor de X en A" + x); }}

A nivel de Referencia A nivel de Herencia

// Archivo B.javapackage p1;public class B { public void prueba() {

A a = new A();a.x = 20

a.visualizar(); }}

OK

// Archivo B.javapackage p1;public class B extends A{ public void pruebaB() {

x = 20; visualizar();

}}

OK

// Archivo C.javapackage p2;import p1.*;public class C { public void prueba() { A a = new A(); a.x = 20 a.visualizar(); }}

OK

//Archivo C.javapackage p2;import p1.*;public class C extends A { public void pruebaC() {

x = 20;visualizar();

}}

OK

Page 16: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

/* Archivo A.java Ejemplo que explica el nivel de acceso paquete */

package p1;public class A { int x = 10; // Atributo de paquete /*Metodo paquete */ void visualizar() { System.out.println("Valor de X en A" + x); }}

A nivel de Referencia A nivel de Herencia

// Archivo B.javapackage p1;public class B { public void prueba() {

A a = new A();a.x = 20

a.visualizar(); }}

OK

// Archivo B.javapackage p1;public class B extends A{ public void pruebaB() {

x = 20; visualizar();

}}

O

K

// Archivo C.javapackage p2;import p1.*;public class C { public void prueba() { A a = new A(); a.x = 20 a.visualizar(); }}

ERROR

//Archivo C.javapackage p2;import p1.*;public class C extends A { public void pruebaC() {

x = 20;visualizar();

}}

ERROR

Modificadores de acceso

Page 17: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

Modificadores de acceso/* Archivo A.java Ejemplo que explica el nivel de acceso privado */

package p1;public class A { private int x = 10; // Atributo privado /*Metodo privado */ private void visualizar() { System.out.println("Valor de X en A" + x); }}

A nivel de Referencia A nivel de Herencia

// Archivo B.javapackage p1;public class B { public void prueba() {

A a = new A();a.x = 20

a.visualizar(); }}

ERROR

// Archivo B.javapackage p1;public class B extends A{ public void pruebaB() {

x = 20; visualizar();

}}

ERROR

// Archivo C.javapackage p2;import p1.*;public class C { public void prueba() { A a = new A(); a.x = 20 a.visualizar(); }}

ERROR

//Archivo C.javapackage p2;import p1.*;public class C extends A { public void pruebaC() {

x = 20;visualizar();

}}

ERROR

Page 18: Lenguaje de Programación II Manejo de Paquetes Corporación Universitaria del Caribe CECAR.

FIN