Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tjava4 PDF
Tjava4 PDF
Clases Clases
Cada objeto es un ejemplar de una clase
Una definicin de clase comprende:
n Cuando se invoca un mtodo de un objeto, se
n Cabecera
mira en el cdigo de su clase las acciones a estado del objeto
Campos o atributos:
ejecutar n
w Variables
n Un objeto puede usar otros para realizar su w Constantes comportamiento
trabajo n Mtodos:
w Funciones
w Constructores
w Bloques de inicializacin static
w Finalizador
1
Variables, objetos y
Modificadores de clase referencias
public class
public class Rectangulo{
Rectangulo{
int x;
int x; Una variable de un determinado tipo
int y;
int y;
int ancho;
int ancho; simple proporciona
int alto;
int alto; w Capacidad para almacenar un valor simple
// faltan
faltan los
los mtodos
mtodos de
de Rectngulo
Rectngulo
// w Un conjunto predifinido de operadores
}}
Object
Rectangulo
2
Creacin de instancias Creacin de instancias
(objetos) (objetos)
Clase int num
int num == 5;
5;
Rectngulo // crea
// crea una
una referencia
referencia
Rectangulo rect;
Rectangulo rect;
rect == new
rect new Rectangulo();
Rectangulo();
Rectangulo otroRect;
Rectangulo otroRect;
Rectngulo e = new Rectngulo() otroRect = rect;
otroRect = rect;
// otroRect
otroRect sese refiere
refiere al
al num 5
//
mismo
mismo
// rectangulo que rect rect
// rectangulo que rect
x
e y
otroRect
Referencia al Instancia de Rectngulo
ancho
objeto
alto
Asignacin Objetos
Por valor
Employee e = new
Employee() Employee e Employee x
copia
Employee x = e; la referencia
sendJunkMailTo sendJunkMailTo sendJunkMailTo
3
Acceso a los atributos de un
objeto Declaracin de mtodos
public class
public class Rectangulo
Rectangulo {{
int x;
int x;
int y;
int y; Funciones declaradas en la clase y que
int ancho;
ancho;
int
int alto;
int alto; determinan su comportamiento
//faltan las funciones
//faltan las funciones miembro
miembro
public static void
public static void main(String
main(String args[ args[ ])
]) {{
Rectangulo rect;
Rectangulo rect; tipoDevuelto nombreMetodo
rect == new
rect new Rectangulo();
Rectangulo(); (listaParametros) {
rect.x == 5;
rect.x 5; //instrucciones del mtodo
rect.y == 7;
rect.y 7;
rect.ancho == 4;
rect.ancho 4; }
rect.alto == 3;
rect.alto 3;
System.out.println(
System.out.println( "x "x == "" ++ rect.x
rect.x ++
yy == "" ++ rect.y
rect.y );
);
System.out.println( "ancho
System.out.println( "ancho == "" ++ rect.ancho
rect.ancho
+
+ alto
alto == " + rect.alto
" + rect.alto ); ); }} }}
Java Clases y objetos 19 Java Clases y objetos 20
4
Ocultacin de datos Ocultacin de datos
pon() La palabra reservada private permite
mtodos una accesibilidad total desde cualquier
pblicos
mtodo de la clase, pero no desde
cont : int
fuera de esta.
cima() rep : int array quita()
mtodos
privados
esVacio()
5
Acceso a clases Sobrecarga de mtodos
public protected package private Se puede utilizar:
Constructores Constructores
public class
public class Rectangulo{
Rectangulo{
n Mtodo que inicializa el objeto en su creacin int x;
int x;
n Se llama automticamente cuando se crea un ....
....
// constructor
constructor
objeto //
public Rectangulo(int
public Rectangulo(int x1,
x1, int
int y1,
y1, int
int
n Su nombre es igual que el de la clase y no tiene w, int
w, int h){
h){
tipo de retorno x=x1;
x=x1;
n Java proporciona un constructor sin parmetros y=y1;
y=y1;
por defecto que deja de estar disponible cuando ancho=w;
ancho=w;
se aade algn constructor alto=h; }}
alto=h;
.....
.....
Constructores Constructores
Pueden sobrecargarse
public static
public static void
void main(String
main(String args[
args[ ])
]) {{ n Una clase puede tener ms de un constructor
Rectangulo rect;
Rectangulo rect; w Si no se declara ninguno se hereda el de la superclase
rect == new
rect new Rectangulo(5,
Rectangulo(5, 7,
7, 4,
4, 3);
3); (o el de Object)
int area=rect.calcularSuperficie();
int area=rect.calcularSuperficie(); n Se puede crear un objeto con distintos tipos de
rect.mostrarValores();
rect.mostrarValores(); parmetros
System.out.println( "Superficie:
System.out.println( "Superficie: ""
++ area
area );
); Pueden llamar al constructor del padre
.
. n super(argumentos);
}} w Debe ser la primera instruccin del constructor
}} o a otros constructores de la misma clase
n this(argumentosPorDefecto );
Java Clases y objetos 35 Java Clases y objetos 36
6
Constructores El constructor por defecto
public class Empleado {
private String nombre; Existe para cualquier clase
private int salario; Permite crear una instancia de un objeto
public Empleado(String n, int s){ con el mtodo
nombre = n;
new Xxx().
salario = s; }
public Empleado(String n){ La definicin de un constructor invalida al
this (n,0); } constructor por defecto.
public Empleado( ){
this ("Desconocido"); }
} Java Clases y objetos 37 Java Clases y objetos 38
7
Variables (static) de la clase Variables (static) de la clase
public class Count { Desde fuera de la clase se puede acceder
private int serialNumber; a una variable static si no se marca
private static int counter = 0; como private (que es lo habitual).
public Count () { Las variables de tipo static son, en
counter++; algunos aspectos, parecidas a las
serialNumber = counter; variables globales de algunos lenguajes.
} Las instancias de la clase comparten la
} variable static
Se le suele llamar variable clase.
Java Clases y objetos 43 Java Clases y objetos 44
8
Inicializadores estticos
Inicializadores estticos
class Universidad { public class StaticInitDemo {
private static Vector profesores = static int i = 5;
new Vector(); static {
System.out.println ("Static code i = "+i++);
static { }
profesores.addElement("Luis"); }
profesores.addElement(Balta"); public class Test {
profesores.addElement(Antonio"); public static void main (String args []){
} System.out.println ("Main code: i =" +
} StaticInitDemo.i); }
}
imprimir:
Puede servir para inicializar algunas variables
Static code: i = 5
de clase Main code: i = 6
Java Clases y objetos 49 Java Clases y objetos 50