Documente Academic
Documente Profesional
Documente Cultură
3.0
Parte I:
Fundamentos del objeto
orientacin
La interaccin de
objetos
MSc. Fernando A. Rojas Morales
3.0
abstraccin
modularizacin
diagramas de
objetos
la creacin de
objetos
llamadas a mtodos
depuradores
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
El ejemplo de coches
Abstraccin y
modularizacin
Abstraccin es la capacidad de enfocar su
atencin en lo esencial y hacer caso omiso
detalles irrelevantes de un sistema.
La modularizacin es el proceso de
divisorio un todo en bien definida
partes, las cuales se pueden construir y
examinada por separado, y que
interactuar de formas bien definidas.
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Un reloj digital
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Implementacin ReferenciasReferenci
a
public class ReferenciasReferencia
{
lmite int privado;
valor int privado;
Constructor y
mtodos omiten.
}
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Implementacin ClockDisplay
public class ClockDisplay
{
privado ReferenciasReferencia horas;
privado ReferenciasReferencia minutos;
Constructor y
mtodos omiten.
}
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Diagrama de
objetos
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
10
Diagrama de
objetos
El diagrama de objeto muestra la
objetos y sus relaciones en un determinado
momento de una aplicacin en ejecucin.
El diagrama de objeto da informacin
acerca de los objetos en tiempo de ejecucin.
Representa el punto de vista dinmico.
Las variables de almacn de objetos de tipo
las referencias a objetos (No el
objetos en s mismos).
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
11
Diagrama de
clases
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
12
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
13
Diagrama de
Clases
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
14
Diagrama de objetos vs
Clase
diagrama
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
15
int i;
tipo de objeto
tipo primitivo
32
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
16
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
17
Cuestionario: Cul es la
salida?
int a;
int b;
a = 32;
b = a;
a = a + 1;
System.out.println (b);
Persona a;
La persona B;
a = new Persona ("Everett");
b = a;
a.changeName ("Delmar");
System.out.println (b.getName ());
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
18
ObjectType b;
b = a;
int a;
int b;
32
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
32
19
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
20
Cdigo fuente:
referenciasReferencia
pblico ReferenciasReferencia ( int rollOverLimit)
{
lmite = rollOverLimit;
valor = 0;
}
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
21
Cdigo fuente:
referenciasReferencia
public String getDisplayValue ()
{
si (valor <10)
{
retorno "0" + valor;
}
ms
La concatenacin de cadenas
{
retorno "" + Valor;
}
}
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
22
El operador de mdulo
El operador 'divisin' (/), cuando se aplica a int
operandos, devuelve el resultado de una entero
divisin.
El operador 'mdulo' (%) devuelve el
resto de una divisin entera.
Por ejemplo, en general:
17/5 da resultado 3, el resto 2
En Java:
17/5 == 3
17% 5 2 ==
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
23
Exame
n
Cul es el resultado de la expresin
8% 3
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
24
Cdigo fuente:
referenciasReferencia
public void setValue (int nuevoValor)
{
if ((nuevoValor> = 0) &&
(NuevoValor <lmite))
{
valor = nuevoValor;
}
}
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
25
Los operadores
lgicos
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
26
Cdigo fuente:
referenciasReferencia
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
27
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
28
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
29
ClockDisplay pblica ()
{
hora = referenciasReferencia nuevo (24);
minutos = referenciasReferencia nuevo (60);
updateDisplay ();
}
}
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
30
parmetro real
en clase
referenciasReferencia:
parmetro formal
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
31
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
32
La sobrecarga
Es comn que las definiciones de clase a
contener alternativa versiones de
constructores o mtodos que proporcionan
vario formas de lograr una determinada
tarea a travs de su conjuntos distintivos de
parmetros.
Esto se conoce como sobrecarga un
constructor o mtodo.
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
33
Mltiples constructores
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
34
/ **
llamadas a mtodos
(internos)
* Constructor para ClockDisplay
* Este constructor crea
* Un nuevo reloj fijado a las 00:00.
*/
ClockDisplay pblica ()
{
h = referenciasReferencia (24);
minutos = new referenciasReferencia (60);
updateDisplay ();
}
Llamada desde el constructor
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
35
llamadas a mtodos
(internos)
llamadas a mtodos
internos
updateDisplay ();
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
36
llamadas a mtodos
(externos)
pblico timetick void ()
{
minutes.increment ();
si ( minutes.getValue () == 0) {
// Simplemente se dio la vuelta!
hours.increment ();
}
updateDisplay ();
}
utilizacin notacin de punto.
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
37
Llamadas a
mtodos
NB: Una llamada a un mtodo en otro objeto
de los mismo tipo sera una
llamada externa.
'Interna' significa 'este objeto ".
Medios 'externos' 'cualquier otro objeto',
independientemente de su tipo.
38
nula
nula es un valor especial en Java
Campos de objetos son inicializado a nula
"Por default '.
Usted puede prueba para asignar y null:
horas referenciasReferencia privadas;
si (horas! = null) {...}
hora = NULL;
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
39
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
40
El depurador
La capacidad de leer y entender
cdigo fuente es una de las ms
esencial para un desarrollador de software.
Pero, tenemos ms instrumentos . . .
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
41
El depurador
Adepurador es un programa que le permite
programadores ejecutar una aplicacin
un paso a la vez.
Por lo general proporciona funciones para
detener
y comenzar un programa en puntos
seleccionados
en el cdigo fuente, y para examinar la
valores de las variables.
Se puede utilizar para resolver los problemas.
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
42
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
43
El depurador
44
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
45
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
46
nombrar a la sobrecarga:
System.out.println (desde)
Qu variable se utilizar elparmetro o el campo?
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
47
El uso de un
depurador
Establecer puntos de
interrupcin
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
48
Paso a paso
Individual
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
49
Conceptos
abstraccin
modularizacin
clases definen
tipos
diagrama de clases
diagrama de objeto
referencias a objetos
tipos primitivos
tipos de objetos
la creacin de objetos
sobrecarga
interna / externa
mtodo de llamada
depurador
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
50