Anda di halaman 1dari 13

Java Arrays y Cadenas 1

Paquetes
Java Arrays y Cadenas 2
Paquetes
Los paquetes permiten agrupar una coleccin
de clases e interfaces funcionalmente
relacionadas asignndole un nombre
Todo nombre en Java est dentro de un
paquete
package nombrePaquete; // fichero como parte
de un paquete
El paquete default contiene todas las clases no
definidas explcitamente en un paquete
Java Arrays y Cadenas 3
Paquetes
public class Text {
....
}
Text txt = new Text();
...
Text msg = new Text();
Librera A
public class Text {
....
}
Librera B
Mi programa
Qu clase Text se instancia?
Qu clase Text se instancia?
Java Arrays y Cadenas 4
Paquetes
public class Text {
....
}
es.fdi.ucm.a
public class Text {
....
}
es.fdi.ucm.b
Mi programa
es.fdi.ucm.a.Text txt = new
es.fdi.ucm.a.Text();
...
es.fdi.ucm.b.Text msg = new
es.fdi.ucm.bText();
Java Arrays y Cadenas 5
Paquetes
Definen contextos de denominacin
Para evitar colisin de nombres
Sirven para definir bibliotecas de clases e
interfaces
Reutilizacin: no volver a inventar la rueda
Permiten organizar el cdigo de una gran
aplicacin
Un paquete determina un subdirectorio del
disco
Java Arrays y Cadenas 6
Paquetes
Las declaraciones de los paquetes tienen que estar
al principio de los ficheros fuente.
Slo se permite la declaracin de un paquete en
cada fichero fuente.
//Clase Empleado del departamento de
//finanzas de la compaa ABC.
package abc.financeDept;
public class Empleado {
... }
Los nombres de los paquetes estn jerarquizados
separados por puntos.
Java Arrays y Cadenas 7
Paquetes
La palabra reservada package debe aparecer
en la primera lnea del fichero fuente.
Por lo general el nombre de los elementos
de un paquete es todo en minsculas.
El nombre de las clases empieza en
mayscula y la primera letra de cada palabra
aadida al nombre tambin.
Java Arrays y Cadenas 8
Paquetes
Los paquetes pueden anidarse
Define una jerarqua:
paquete.subpaquete.subpaquete.clase
Convencin para el nombrado de
paquetes
(para conseguir nombres nicos):
dominio.empresa.departamento.proyecto
Java Arrays y Cadenas 9
Paquetes
dominio.empresa.departamento.proyecto
(nombre de dominio Internet al revs)
Ejemplo: es.ucm.sip.cursoJava
Java Arrays y Cadenas 10
La sentencia import
Indica al compilador dnde encontrar las
clases.
Debe preceder a todas las declaraciones de las
clases.
import abc.financeDept.*;
public class Jefe extends
Empleado{
String departamento;
Empleado [] subordinados;
}
Java Arrays y Cadenas 11
La sentencia import
Se puede llamar a la clase Empleado como
abc.financedept.Empleado
o se puede utilizar la sentencia import y slo
el nombre de la clase Empleado.
Java Arrays y Cadenas 12
Uso de paquetes
Utilizacin de nombres de un paquete:
Usando un nombre completo:
class ImprimeFecha1 {
public static void main () {
java.util.Date ahora = new
java.util.Date();
System.out.println(ahora);
}
}
class ImprimeFecha1 {
public static void main () {
java.util.Date ahora = new
java.util.Date();
System.out.println(ahora);
}
}
Java Arrays y Cadenas 13
Uso de paquetes
Usando la clusula import:
import java.util.Date;
class ImprimeFecha2 {
public static void main () {
Date ahora = new Date();
System.out.println(ahora);
}
}
import java.util.Date;
class ImprimeFecha2 {
public static void main () {
Date ahora = new Date();
System.out.println(ahora);
}
}
Java Arrays y Cadenas 14
Directorio de trabajo
Los paquetes se guardan en directorios cuyos
nombres coinciden con los de los paquetes.
package abc.financeDept
public class Empleado{
}
javac Empleado.java
Cul es el directorio de Empleado.class?
classpath\abc\financeDept\Empleado.class
Java Arrays y Cadenas 15
Importacin de clases
No es necesario para el paquete java.lang
Por defecto: import java.lang.*
* permite referirse a todas las clases e
interfaces de un paquete
import java.*; // ERROR: no vale para paquetes
Ejemplo: Para importar la clase Applet:
import java.applet.Applet; // directamente la
clase
import java.applet.*; // todos los nombres del
paquete
Java Arrays y Cadenas 16
Control de acceso a
miembros de una clase
Hay cuatro niveles de proteccin en
funcin de los atributos de acceso y de
la organizacin en paquetes
Publico, paquete, protegido y privado
Java Arrays y Cadenas 17
Control de acceso a
miembros de una clase
Atributos de acceso
Si no se indica nada un miembro es accesible
desde todo el paquete
private
acceso slo dentro de la clase
public
acceso desde cualquier lugar
protected
acceso en la clase, las subclases (en cualquier paquete)
y desde las clases del mismo paquete
Java Arrays y Cadenas 18
Control de acceso a
miembros de una clase
Modificador Misma
Clase
Mismo
Paquete
Subclase Universal
public s s s s
protected s s s
default s s
private s
Java Arrays y Cadenas 19
// redefinicin de la clase rectngulo con control de
acceso
public class Rectangulo {
private int x;// accesible slo dentro de la clase
int y; // accesible dentro del paquete ( por defecto)
public int ancho;// accesible desde todos los sitios
protected int alto; // accesible desde el paquete y
// desde las subclases
private int calcularSuperficie() // accesible slo
//dentro de la clase
{ .... }
}
// redefinicin de la clase rectngulo con control de
acceso
public class Rectangulo {
private int x;// accesible slo dentro de la clase
int y; // accesible dentro del paquete ( por defecto)
public int ancho;// accesible desde todos los sitios
protected int alto; // accesible desde el paquete y
// desde las subclases
private int calcularSuperficie() // accesible slo
//dentro de la clase
{ .... }
}
Ejemplo control de acceso
El control de acceso se aplica tanto a
atributos como a mtodos
Java Arrays y Cadenas 20
Ejemplo control de acceso
3
variables
private
2
1
mtodos private
mtodos public
Llamadas
(mensajes)
Una
instancia
Java Arrays y Cadenas 21
Ejercicio 1
Crear el package buzn
Crear el package buzn.correo
Java Arrays y Cadenas 22
Ejercicio 1
Mover la clase Correo al package buzn.correo
Mover la clase Buzn al package buzn
Java Arrays y Cadenas 23
Ejercicio 1
Aadir package en la primera lnea
Java Arrays y Cadenas 24
Ejercicio 1
Importar packages que se usen
Java Arrays y Cadenas 25
Ejercicio 2
Crear los packages banco y banco.cuentas y
organizar las clases del ejercicio 7 del tema
anterior.

Anda mungkin juga menyukai