You are on page 1of 19

Material de trabajo autnomo

Colecciones/Arreglos de Objetos
UNIDAD 2

Indicaciones
Para un estudio eficaz, te invitamos a que sigas las siguientes
recomendaciones:

Lee con
atencin

Relaciona

Contrasta y
complementa

PROGRAMACIN ORIENTADA A OBJETOS

Elabora

Realiza la tarea y
participa en el
foro

Logros de la sesin
Al finalizar esta sesin, estars preparado para:

Utilizar los arreglos para implementar la


colaboracin entre clases.

PROGRAMACIN ORIENTADA A OBJETOS

Temario

Definicin de Coleccin
Creando colecciones
Implementando colecciones en clases
colaborativas

Motivacin
El paradigma orientada a objetos se inicio en los aos
70. Hoy en da la mayora de los lenguajes son orientados
a objetos.

PROGRAMACIN ORIENTADA A OBJETOS

Java Collection Framework


Java Collection Framework es un conjunto de tipos genricos que se puede
usar para crear colecciones que sirve para cargar y manejar objetos en
meomoria.
Estos objetos deben pertenenecer a una misma clase, esta clase se denomina
Generica.

PROGRAMACIN ORIENTADA A OBJETOS

ArrayList
Existen varios tipos de colecciones, pero los que ms utilizaremos para este curso
son el ArrayList y el HashMap, ambos se encuentran en el paquete java.util de
java.
ArrayList : Permiten coleccionar una secuencia de objetos de una misma clase en
memoria, es dinmico, es decir, no es necesario predefinir el tamao de la
coleccin al definirse, sino que el nmero de elementos va creciendo en forma
automtica sin lmites ms que de la memoria que dispones en tu mquina.
Ideal para reportes, muy rpido ms no soporta concurrencia.

PROGRAMACIN ORIENTADA A OBJETOS

Supongamos que tenemos


la clase producto:

PROGRAMACIN ORIENTADA A OBJETOS

Y un Administrador necesita saber cuanto suma todos los precios de los productos
que tiene en su almacn.
Entonces se puede deducir que el Administrador posee una coleccin de Productos
representado por:

PROGRAMACIN ORIENTADA A OBJETOS

Y justamente como el posee toda la informacin de todos los productos,


entonces un mtodo podra realizar la suma de sus precios, este mtodo
sumarPrecios() pertenecera a la clase Administrador:

PROGRAMACIN ORIENTADA A OBJETOS

Como funciona esta lgica del mtodo sumarPrecios()?


Clase a la que
pertenece cada objeto
de la coleccin

Bucle repetitivo
que desplaza elemento
por elemento en la
coleccin, cada vez que
repite el bucle.

p puntero que
referencia al primer
elemento de la
coleccin

Identificador o
nombre de la
coleccin
p podra accede a cualquier
mtodo del objeto que apunte en
ese meomento en la coleccin

PROGRAMACIN ORIENTADA A OBJETOS

Como probamos que este mtodo es correcto, como hacemos para que la
coleccin catalogo tenga objetos para realizar la prueba?
La primera respuesta es sencilla usando pruebas unitarias, pero para la
segunda.
Se necesita en la clase Administrador un mtodo que permita insertar objetos
producto a la coleccin.
El mtodo podra llamarse: adicionar y sera como el siguiente mtodo.

TIP: add es un mtodo propio de la clase ArrayList, que permite adicionar


elementos a la coleccin, adems de este mtodo hay otros muy tiles
como size() = tamao de la coleccin, remove(elemento) elimina el
elemento u objeto de la coleccin entre otros.

PROGRAMACIN ORIENTADA A OBJETOS

La clase quedara como:

PROGRAMACIN ORIENTADA A OBJETOS

Si e stuvieramos usando Netbeans el test unitario lo podramos crear, hacienda click


Derecho sobre la clase Administrador y seleccionar / Tools / Create:

PROGRAMACIN ORIENTADA A OBJETOS

Desactivamos todos lo checks y presionamos Ok:

PROGRAMACIN ORIENTADA A OBJETOS

El test finalmente podra ser como:

Aqu los fuentes del proyecto:

PROGRAMACIN ORIENTADA A OBJETOS

Conclusiones
Las relaciones entre clases nos sugieren colaboracin entre
ellas para lograr un resultado esperado.
Los arreglos o colecciones de objetos nos permiten
implementar las relaciones de composicin con varios
objetos.
En la vida real existen muy a menudo este tipo de
relaciones entre clases y la programacin orientada
aobjetos los representar de la manera ms sencilla y
objetiva.
Las colecciones son dinmicas y sin lmite no es necesario
definir un nmero exacto del tamao de la coleccin.

PROGRAMACIN ORIENTADA A OBJETOS

Preguntas
Si, luego del estudio del material,
tienes dudas sobre alguno de los
temas, ingresa al Aula Virtual y
participa en el foro de dudas
acadmicas de la unidad

PROGRAMACIN ORIENTADA A OBJETOS

Si quieres conocer ms
Te invito a leer ms sobre estos temas de los siguientes
libros

PROGRAMACIN ORIENTADA A OBJETOS

You might also like