encapsulamiento
objetos
Java y Servicios Web I
Master en Ingeniería Matemática
Manuel Montenegro
Dpto. Sistemas Informáticos y Computación
Desp. 467 (Mat)
montenegro@fdi.ucm.es
Contenidos
●
Clases y objetos. Atributos.
●
Métodos.
●
Modificadores de acceso (public/private)
●
Constructores.
●
Igualdad de objetos.
●
Ejemplos.
●
Atributos ymétodos estáticos.
●
Paquetes.
11/Mayo/2012
3. Encapsulación: Clases y objetos
2
Clases
●
●
●
Una clase es un tipo, definido mediante
atributos y métodos.
Los atributos son variables que definen el
estado interno de los objetos de la clase.
Los métodos son funciones/procedimientos
que acceden y/o modifican los atributos de un
objeto.
●
Conceptualmente,representan mensajes
destinados a un objeto.
11/Mayo/2012
3. Encapsulación: Clases y objetos
3
Atributos de una clase
// Fecha.java
public class Fecha {
public int dia;
public int mes;
public int año;
}
Tipo
Nombre
11/Mayo/2012
3. Encapsulación: Clases y objetos
Atributos
4
Clases vs. Objetos
●
●
●
Desde el punto de vista del compilador, las clases sontipos, y los objetos son variables con esos tipos.
Un objeto es una asignación de los atributos definidos
por la clase a valores concretos.
Una clase puede considerarse como una plantilla, a partir
de la cual se crean objetos, que son instancias de la clase.
Clase Fecha
int dia;
int mes;
int año;
11/Mayo/2012
dia = 11
mes = 5
año = 2012
dia = 28
mes = 8
año = 1983
3.Encapsulación: Clases y objetos
Objetos de
la clase Fecha
5
Creación de objetos
// Test.java
public class Test {
public static void main(String[] args) {
Fecha f;
f = new Fecha();
Creación de un objeto
f.dia = 12;
Modificación de atributos
f.mes = 5;
f.año = 2012;
System.out.printf(“Hoy es día: %d/%d/%d”,
f.dia, f.mes, f.año);
Acceso a atributos
}
}
11/Mayo/2012
3.Encapsulación: Clases y objetos
6
Creación de objetos
// Test.java
public class Test {
public static void main(String[] args) {
Fecha f;
f = new Fecha();
Creación de un objeto
f.dia = 12;
Modificación de atributos
f.mes = 5;
f.año = 2012;
System.out.printf(“Hoy es día: %d/%d/%d”,
f.dia, f.mes, f.año);
Acceso a atributos
}
}
Fecha f = new Fecha();
11/Mayo/2012
3.Encapsulación: Clases y objetos
7
Contenidos
●
Clases y objetos. Atributos.
●
Métodos.
●
Modificadores de acceso (public/private)
●
Constructores.
●
Igualdad de objetos.
●
Ejemplos.
●
Atributos y métodos estáticos.
●
Paquetes.
11/Mayo/2012
3. Encapsulación: Clases y objetos
8
Métodos de una clase
●
Son funciones que se declaran dentro delcuerpo de la clase.
// Fecha.java
public class Fecha {
public int dia;
public int mes;
public int año;
public void imprimir() {
System.out.printf(“%d/%d/%d”, dia, mes, año);
}
}
11/Mayo/2012
3. Encapsulación: Clases y objetos
9
Llamada a métodos
// Test.java
public class Test {
public static void main(String[] args) {
Fecha f;
f = new Fecha();
f.dia = 12;
f.mes = 5;f.año = 2012;
System.out.print(“Hoy es día: ”);
f.imprimir();
}
Llamada a método
}
11/Mayo/2012
3. Encapsulación: Clases y objetos
10
Métodos de acceso (getters)
●
En general, no conviene que el usuario de la clase
maneje directamente los atributos de la misma.
type Fecha = record
// número de días transcurridos desde el
// 1 de enero de 1970
numeroDias:integer;
end;function DiferenciaFechas(f1, f2:Fecha):integer;
begin
return f2.numeroDias – f1.numeroDias;
end;
11/Mayo/2012
var actual, f: fecha;
write(f.dia, '/', f.mes, '/', f.año)
if f.año < … then
diff := DiferenciaFechas(actual, f);
end;
case f.mes of
…
end;
3. Encapsulación: Clases y objetos
11
Métodos de acceso (getters)
// Fecha.java
public class Fecha {
…
public int...
Regístrate para leer el documento completo.