Sunteți pe pagina 1din 50

"Mejores Son dos Uno Que;

Porque Tienen Mejor paga


de Do trabajo ".

[Eclesiasts 4.9 - La Biblia]

3.0

Parte I:
Fundamentos del objeto
orientacin
La interaccin de
objetos
MSc. Fernando A. Rojas Morales
3.0

Conceptos principales que se


tratarn

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

Cuerpo, motor, caja de cambios,


asientos,
Rueda, ...
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling

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

Modularizando la visualizacin del


reloj
Una pantalla de cuatro
dgitos?

O dos de dos dgitos


pantallas?

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.
}

Las clases definen tipos

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

Las clases definen tipos


El nombre de una clase se puede utilizar
como una
tipo de variable.
El tipo de un campo especifica lo
tipo de valores puede ser almacenado en el
campo. Si el tipo es una clase, el campo
puede contener objetos de esa clase (clase
nombres pueden ser utilizados como tipos).

Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling

13

Diagrama de
Clases

El diagrama de clases muestra las clases


de una aplicacin y la relacin
entre ellos.
El diagrama de clases da informacin
acerca de la cdigo.
Las muestra el diagrama de clases la
esttica
punto de vista.

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

Los tipos primitivos vs. objeto


tipos
SomeObject obj;

int i;

tipo de objeto

tipo primitivo
32

Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling

16

Los tipos primitivos


Los tipos primitivos son no Objetos.
Los tipos primitivos estn predefinidos en
el lenguaje Java: int, boolean,
char, doble, largo. [Apndice B].
Los tipos primitivos no tienen mtodos.

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

Los tipos primitivos vs. objeto


tipos
Tipoobjeto una;

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

El cdigo fuente ClockDisplay

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;
}

pblica subasta void ()


{
valor = (valor + 1) Lmite%;
}

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

Por entero n> = 0, Cules son todas


posibles resultados de:
n% 5

Puede nser negativo?

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

ClockDisplay objeto de diagrama

Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling

28

Objetos la creacin de objetos


Los objetos se pueden crear objetos
utilizando el
nuevo operador.
La nueva operacin hace dos cosas:
1. crea un nuevo objeto de la
clase llamada
2. ejecuta el constructor de
esa clase.

Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling

29

Objetos la creacin de objetos


public class ClockDisplay
{
horas referenciasReferencia privadas;
minutos referenciasReferencia privadas;
DisplayString cadena privada;

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

Objetos que crean objetos


en clase ClockDisplay:
h = (referenciasReferencia 24 );

parmetro real
en clase
referenciasReferencia:

referenciasReferencia pblico (int rollOverLimit );

parmetro formal
Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling

31

Objetos que crean objetos

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 ();

No se requiere ningn nombre de


variable.
este

-podra ser utilizado como una referencia a la


invocando objeto, pero no se utiliza para
mtodo llama.

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.

objeto .methodName (parmetro de la lista


)

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

Resumen de la visualizacin del


reloj

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

El ejemplo sistema de correo

Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling

45

El ejemplo sistema de correo

Objetos Primera con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling

46

La palabra clave this

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

S-ar putea să vă placă și