Programacion Orientada A Objetos
Programacion Orientada A Objetos
Programacion Orientada A Objetos
UNIDAD
Los objetos
Objetivos
Identificar objetos y establecer sus caractersticas.
Agrupar objetos similares en Clases.
Identificar relaciones de composicin de objetos.
Establecer relaciones de Jerarqua de Clases.
Identificar mensajes entre objetos.
Definir y caracterizar la Programacin Orientada a Objetos.
Establecer las diferencias con la programacin por procesos.
Definir trminos bsicos del enfoque de Objetos
Introduccin
En esta unidad se introduce al lector en el enfoque de objetos, el cual se
constituye en la actualidad en un paradigma para el desarrollo de programas y
sistemas en general. A fin de inducir en el lector los conceptos bsicos del
enfoque de objetos, se establece como escenario su lugar de habitacin, su
cuarto, y se le invita a identificar los objetos que le son familiares en su mundo
cotidiano.
Actualizacin del Capitulo 4, del texto Programacin moderna de computadores: Algoritmos, objetos y Java de J.Tafur, H. Angulo,
S. Gmez.
Un problema
Nuestro alrededor esta formado por objetos de diversa ndole, unos son
naturales animados como los seres vivos, animales y plantas, y otros
inanimados como los del mundo mineral. Los hay tambin artificiales como los
construidos por el ser humano o por mquinas concebidas y elaboradas por l.
Vivimos dentro de una casa, en un barrio de una comuna de una ciudad, dentro
de una regin, que a su vez forma parte de una nacin. Conglomerados de
naciones se ubican y agrupan en continentes, y toda esta agregacin de objetos,
conforma nuestro planeta Tierra. Por donde miremos vemos objetos. Nuestro
sistema planetario, las galaxias y el universo en su conjunto, son tambin
objetos. En el mundo de lo microscpico encontramos otra dimensin de la
diversidad de objetos, por ejemplo, aquellos minsculos seres que viven en un
grano de arena y pelean entre s, a fin de tomar el dominio de una de sus aristas.
El concepto de sistemas, que no es sino otra manera de ver los objetos
interactuando unos con otros en el mundo de una manera ms general, nos da
una idea de lo diverso y casi difcil que es enumerar los objetos en una simple
lista. Estos, interactuando a fin de lograr un objetivo comn, nos dn tambin
la idea de la diversidad de sistemas y objetos existentes en el mundo que nos
rodea Estamos sumergidos en un mundo de sistemas, en un mundo de objetos.
Nosotros mismos, desde el punto de vista del enfoque de objetos, somos
tambin un objeto. Este texto que se sigue es un objeto. Veamos a continuacin,
una primer aproximacin al enfoque de objetos en la solucin de problemas.
Federico requiere de un bloque de madera de dimensiones dadas, a partir de
un rbol, cuyo tronco cubre las dimensiones indicadas.
2-3
Hablando con Santiago, un experto aserrador, acerca del contrato para disponer
del bloque de madera, va tomando nota de las herramientas y objetos en
general que utilizaran en el desarrollo del trabajo.
Por ejemplo, algunos de las herramientas y objetos en general, incluido el
aserrador, se ilustran en la siguiente figura.
2-4
inherentes a cada uno de los objetos se pueden llevara cabo diferentes labores
como por ejemplo, cortar las ramas con la motosierra, medir dimesiones con el
metro, cepillar una superficie con el cepillo, etc.
Un escenario
La situacin que se presenta a continuacin utilizada para identificar, describir y
caracterizar los objetos en la vida diaria, en el mundo real, corresponde al
escenario brindado por su habitacin. Se plantea un cuarto que corresponde
eventualmente, al lugar de habitacin de cualquiera de los lectores de este libro.
Una situacin hipottica, que el lector debe interpretar de acuerdo a su situacin
particular, a fin de poder iniciar nuestro estudio de los objetos.
Usted dispone de una confortable cama doble, dos mesitas de noche una a cada
lado de la cama, un tapete persa al lado derecho de su cama, un mueble de
madera para televisor sobre el cual tiene un televisor de 19 en donde observa
sus programas favoritos. En la mesita de noche que se encuentra en el lado
derecho de su cama, usted tiene una grabadora con CD, doble casetera, junto a
esta un CD de Los Aterciopelados, uno de Los Fabulosos Cadillacs, un casete
de Billy Joel, uno de Phil Collins y otros cassetes que ahora no recuerda de qu
artistas son. En la mesita de noche del lado izquierdo de su cama, usted tiene
una lmpara, el control remoto de su televisor y un reloj despertador. En la
pared del lado izquierdo de su cama, est su armario que ocupa toda la pared,
donde aparte de guardar su ropa (un blue jean, un pantaln negro, un pantaln
caf, una camisa blanca, una camisa negra, correa negra, correa caf, entre
otras), tambin guarda sus zapatos (unos mocasines negros, unos mocasines
caf, unos tenis, entre otros), adems sus implementos de aseo personal
(desodorante, cepillo, entre otros), tambin guarda la maleta del colegio que no
volvi a usar, pero que conserva porque es un bello recuerdo, la camiseta de la
seleccin deportiva en la que particip cuando tena 10 aos en el colegio, las
pantuflas que le regal su abuelita en su primera comunin, que el perro de su
casa volvi aicos y que ya no se sabe de qu color son y otras cuantas cosas
ms que no utiliza.
Puede ser que en la vida real su habitacin difiera un poco de la descripcin
anterior, para lo cual se le ruega nuevamente imaginar que sta es su habitacin.
La figura No. 1 ilustra lo que pudiera ser su habitacion para nuestro ejemplo.
Como usted puede observar, su habitacin est llena de cosas, que llamaremos
objetos: la cama, las dos mesitas de noche, el tapete, el mueble del televisor, el
televisor, la grabadora, el CD de los Aterciopelados, el CD de los Fabulosos
Cadillacs, el casete de Billy Joel y el casete de Phil Collins, los dems casetes,
Est claro que aquellas cosas que se han tenido en cuenta del mundo de su
habitacin, son objetos?. Son objetos, en nuestro ejemplo, porque son tangibles
e identificables y hacen parte del mundo real.
A continuacin se presenta la lista numerada, de los objetos identificados en su
habitacin.
1. Cama
11.Lmpara
21. Tenis
12. Televisor 19
13.Control remoto
4. Tapete persa
5. Mueble para TV
15. Armario
26.Correa negra
7. CD Aterciopelados
8. CD Fabulosos Cadillacs
28. Desodorante
Repetido o n
Cama
Objeto no repetido
mesaDeNocheIzquierda
mesaDeNocheDerecha
Tapete
Objeto no repetido
Mueble para TV
Objeto no repetido
Grabadora
Objeto no repetido
CD de los Aterciopelados
Lmpara
Objeto no repetido
Televisor 19
Objeto no repetido
Control remoto
Objeto no repetido
Reloj despertador
Objeto no repetido
Armario
Objeto no repetido
Blujean
Pantaln negro
Pantaln caf
camisa blanca
camisa negra
Tenis
Correa negra
Correa caf
Desodorante
Objeto no repetido
Cepillo de cabello
Objeto no repetido
Repetido o n
Objeto no repetido
Objeto no repetido
CdMusica
Correas
blue jean
pantalon negro
pantalon caf
Camisas
mocasin
negro
mocasin tenis
caf
mesas de noche
camisa negra
Clases de Objetos
MesaDeNoche
CdDeMusica
Casete
Pantaln
Camisa
Zapatos
Correa
Pero, qu pasa con los dems objetos dentro de la habitacin? Acaso ellos son
nicos en el mundo y no tienen un similar con quin agruparse y formar parte
de una clase? El resto de objetos de su habitacin que no estn repetidos, son
nicos, pero en su habitacin. Sin embargo, es posible que, en el resto de su
casa existan otros similares, por ejemplo otro televisor, otras camas, otras
lmparas de noche, otros relojes despertadores, etc. As que, aunque estos
objetos son nicos en su cuarto, fuera de l y en su misma casa pueden existir
otros similares.
Tomemos el caso de su cama doble, a fin de identificar si es posible incluirla
dentro de una clase, en donde junto con otros objetos con caractersticas
similares se la pueda agrupar:
El da en que sus padres le regalaron la cama doble, fue justamente en el que
usted cumpli 16 aos de edad. Das antes, ellos fueron a una mueblera o
almacn de muebles y escogieron su cama a travs de un catlogo, la
encargaron, la pagaron y como por arte de magia la cama lleg a su casa el da
de su cumpleaos. Pues bien, cuando sus padres la escogieron del catlogo,
pidieron al vendedor de la mueblera una cama similar a la que estaban viendo
en el catlogo y cuya referencia era DC-201. El vendedor elabor una factura de
venta, un original lo di a sus padres y la otra la mand a la fbrica, en donde
carpinteros buscaron la referencia en su libro de diseo de productos, en el cual
Nombre de la clase
camaDoble
Este objeto es fiel copia del diseo Camas Dobles DC-201, luego se encuentra
dentro del conjunto CamaDoble
mesaDeNocheIzquierda
mesaDeNocheDerecha
tapetePersa
Este objeto es una fiel copia del diseo de Tapetes Persas, luego se encuentra
dentro del conjunto Tapete
muebleTv
Este objeto es una fiel copia del diseo de Muebles para TV DC-176, luego se
encuentra dentro del conjunto MuebleParaTV
grabadora
Este objeto es una fiel copia del diseo de Grabadoras S-21, luego se
encuentra dentro del conjunto Grabadora
cdLosAterciopelados
cdLosFabulososCadillacs
caseteDeBillyJoel
caseteDePhilCollins
lmpara
Este objeto es una fiel del diseo de lmparas, luego se encuentra dentro del
conjunto Lmpara
televisorDe19Pulgadas
Este objeto es una copia del diseo de Televisores 19, luego se encuentra
dentro del conjunto Televisor
controlRemoto
Este objeto es una copia del diseo de Controles Remoto para Televisores de
19, luego se encuentra dentro del conjunto ControlRemoto
relojDespertador
armario
Este objeto es una copia del diseo de Armarios, luego se encuentra dentro
del conjunto Armario
blueJean
pantalnNegro
pantalnCaf
camisaBlanca
camisaNegra
tenis
zapatosMocasnNegros
zapatosMocasnCaf
correaNegra
correaCaf
desodorante
cepilloDeCabello
Este objeto es una copia del diseo de Cepillos para Cabello, luego se
encuentra dentro del conjunto CepilloDeCabello
maletaDelColegio
Este objeto es una copia del diseo de Maletas de Colegio, luego se encuentra
dentro del conjunto MaletaDeColegio
camisetaSeleccinColegi Este objeto es una copia del diseo de Camisetas de Seleccin Colegio, luego
o
se encuentra dentro del conjunto Camiseta
pantuflasRegaloAbuela
Este objeto es una copia del diseo de Pantuflas, luego se encuentra dentro
del conjunto Pantufla
A esta altura de nuestro estudio sobre objetos, ya se debe tener claro que los
objetos dentro de una misma clase tienen caractersticas similares. Dichas
Notacin de Atributo
tituloCD
Nombre Artista
nombreArtista
Ao Grabacin
aoGrabacion
nombreProductorFonogrfico
Lista de Canciones
listaDeCanciones
Numero de Serie
numeroSerie
Esta notacin para los atributos de las clases, similar a la seguida en lenguajes
orientados a objetos, como es el caso del Java, recomienda que se utilicen
sustantivos compuestos que claramente definan el atributo. Por eso la notacin
propone construir el nombre del atributo a partir de las palabras que lo definen,
de las cuales la primera comienza con minscula y la primera letra de cada una
de las palabras siguientes en mayscula. Esta notacin se usar de ahora en
adelante para los atributos.
Como ya se ha mencionado antes, los atributos que se definen en la clase,
toman valores en cada uno de los objetos que hacen parte de ella. En el
siguiente cuadro se han tomado solamente dos objetos de la Clase CdDeMusica,
a fin de identificar sus atributos:
Atributos Clase
Atributos cdLosAterciopelados
tituloCD
La Pipa de la Faz
En la Vida
nombreArtista
Los Aterciopelados
Fabulosos Cadillacs
aoGrabacin
1994
1992
nombreProductor
EMI Sora
Fonolux
listaDeCanciones
numeroSerie
24352-46552
28475-69875
pantuflas
Atributos Clase
Pantufla
Tipo Pantuflas
tipoPantufla
De Batalla
Material Fabricacin
materialFabricacion
Peluche
Talla
talla
39
Nombre Dueo
nombreDueo
Usted
Color
color
blanco
Entonces, se podra decir que las clases son la representacin general de los
objetos que se encuentran agrupados en ella. En la terminologa orientada a
objetos, a stos se les denomina tambin instancias de la clase a la que
pertenecen. As pantuflasRegaloAbuela es una instancia de la clase Pantuflas.
Los trminos objeto e instancia son sinnimos y se utilizarn indistintamente.
Se ha dicho que en las clases se definen las caractersticas comunes de los
objetos que pertenecen a ella. Que estas caractersticas se denominan
Atributos y que stos atributos toman valores nicos en un objeto particular. La
forma como se organizan los atributos en la definicin de una clase, determinan
lo que se denomina la Estructura de la clase.
Tomemos ahora por ejemplo, el objeto grabadora. Es posible tener como
.
.
Atributos Clase
Grabadora
Marca
marca
Gato
Referencia
referencia
S-21
Dueo
dueo
Usted
Reproducir sonido CD
reproducirSonidoCD
reproducirSonidoCasete
Grabar de CD a casete
grabarDeCDaCasete
grabarDeCaseteACasete
Sintonizar emisora
sintonizarEmisora
reproducirSonidoEmisora
reproducir sonido CD
reproducir sonido casete
grabar de CD a casete
grabar de casete a CD
sintonizar emisora
reproducir sonido emisora
Grabadora
marca
referencia
dueo
reproducirSonidoCD
reproducirSonidoCassette
grabarDeCDaCassette
grabarDeCassetteACassette
sintonizarEmisora
reproducirSonidoEmisora
Nombre de la clase
Lista de atributos
Lista de Mtodos
LamparaDeMesaNoche
marca
nombreLampara
referencia
tipoDeBombilloRequerido
encenderBombillo
apagarBombillo
encender bombillo
apagar bombillo
antena
radio
amplificador
reproductor de casetes
botones de control
cable de alimentacin
bafles
reproductor CD
Cada uno de estos elementos que hacen parte del objeto su grabadora y que
caracterizan a las grabadoras agrupadas en la Clase Grabadora referencia S-21,
son elementos de alguna manera independientes que, juntos constituyen la
play
rewind
forward
stop/eject
pause
Miremos cmo podra ser una estructura para la clase Botn y qu valores
podran tomar los 5 botones del reproductor de CD, del objeto grabadora, en el
cuadro siguiente:
Atributos Valores para el Valores para el
Clase
botn
botn
Botn
Parar/Abrir
Pausa (pause)
esCD del
(stop/eject)
Reproduct
or de CD
Valores para
el botn
Valores para el
botn
Valores para el
botn
Adelantar
(Ffwd)
Devolver (rew)
Reproducir (play)
nombre
Parar/Abrir
Pausa
Adelantar
Devolver
Reproducir
etiqueta
Stop/Eject
Pause
Ffwd
Rew
Play
icono
tamao
10x10
10x10
10x10
10x10
10x10
posicin
20,20
40,20
60,20
80,20
100,20
Notacin atributos de la
clase Grabadora
marca
marca
GatoSilvestre
referencia
referencia
S-21
dueo
dueo
Usted
objetoLectorCD
Contiene 2 objetos
caseteras
parObjetosCaseteras
Cable al toma-corriente
objetoCableTomaCorriente
antena
objetoAntena
sintonizador de radio
objetoRadio
amplificador
objetoAmplificador
listaBotonesCaseteras
listaDeBotonesCD
botonControladorVolumen
Notacin atributos de la
clase Grabadora
botonCambioFuncion
pantalla
bombillo
porta bombillo
suiche
base de madera
cable tomacorriente
Particular Electric
referencia
referencia
PE-56A
dueo
dueo
Usted
voltaje
voltajeAlimentacin
120 V
Contiene objeto
pantalla
objetoPantalla
Contiene objeto
bombillo
bombilloLampara
SLR-45 70W
Contiene objeto
portalampara
objetoPortalampara
Buho Fg-987
baseDeMadera
Base DF-45
Contiene objeto
suiche
suicheLampara
Sw-843
Contiene cabletomacorriente
cableTomacorriente
cable awt-15
Centremos ahora nuestra atencin en los objetos que tiene dentro de su armario,
pero no se preocupe no le vamos a preguntar nada por aquellos objetos ocultos
y privados.
Vamos a tomar los objetos con los cuales usted calza sus pies. Para este ejemplo
usted tiene un par de tenis, un par de zapatos mocasines de color caf y otro par
de mocasines de color negro. Los objetos zapatos mocasines de color caf y
zapatos mocasines de color negro, estn agrupados en la clase ParDeZapatos.
Como atributos de la clase ParDeZapatos se pueden distinguir: numero, marca,
tipo, color, tipo cuero, entre otros.
numero
39
marca
CopaShoes
39
TresPatas
tipo
clsico
Normal
color
caf
negro
tipoMaterial
normal
Gamo
tipoHebilla
ninguna
Pequea-plata
Atributos Clase
ParDeZapatosTenis
numero
marca
Patitas
tipo
para Trotar
color
blanco y azul
tipoMaterial
cuero y tela
tipoCordon
Esfrico-largo
Tanto el objeto par de Zapatos Tenis como los objetos Par de Zapatos Mocasn,
son zapatos porque le permiten calzar sus pies, sin embargo ellos se diferencian
por ejemplo en que los zapatos tenis le sirven para hacer deporte en cambio sus
mocasines solo le sirven para vestir. Como obviamente ambos tipos de objetos
son Pares de Zapatos, entonces ellos deberan estar agrupados en una clase
comn que los incluye a ambos, la clase Par de Zapatos. Es decir, al ser zapatos
las clases Par de Zapatos Tenis y Par de Zapatos Mocasn, tienen atributos
similares, pero en cambio difieren en que, la clase Zapato Tenis tiene un
atributo tipoCordon que la clase Mocasn no tiene y la clase Mocasn tiene un
atributo tipoHebilla que la clase Tenis no tiene. Por supuesto los Mocasines no
tienen cordones, pero en lo dems ambas clases son similares. Entonces se debe
crear una clase ms general que se llame Clase ParDeZapatos, que contenga los
atributos que tanto la clase Par de Zapato Tenis como la clase Par de Zapato
Mocasn poseen. A continuacin se relacionan en la siguiente tabla los atributos
que va a tener la clase Par de Zapatos, que es prcticamente comn a cualquier
par de zapatos:
ParDeZapatos
numero
marca
tipo
color
tipoMaterial
ParDeZapatos
numero
marca
tipo
color
tipoMaterial
objetoZapatoIzquierdo
objetoZapatoDerecho
tipoCordon
numero
marca
tipo
color
tipoMaterial
objetoZapatoIzquierdo
objetoZapatoDerecho
ParDeZapatosMocasn
tipoHebilla
ParDeZapatos
numero
marca
tipo
color
tipoMaterial
objetoZapatoIzquierdo
objetoZapatoDerecho
ParDeZapatosTenis
tipoCordon
ParDeZapatosMocasn
tipoHebilla
numero
39
marca
Petite
tipo
color
tipoMaterial
peluche
tipoAdorno
regaloDe
abuela
objetoZapatoIzquierdo
pantuflaIzquierda
objetoZapatoDerecho
pantuflaDerecha
Pantuflas
Numero
marca
tipo
color
tipoMaterial
tipoAdorno
regaloDe
objetoZapatoIzquierdo
objetoZapatoDerecho
ParDeZapatosTenis
tipoCordon
ParDePantuflas
ttipoAdorno
regaloDe
ParDeZapatosMocasn
tipoHebilla
Ya usted sabe que existen objetos que estn compuestos de otros objetos, o sea,
objetos que hacen parte de otro ms complejo u objetos que estn agregados
dentro de otros que lo componen y que a esto se le llama Composicin. Usted
ya sabe tambin que existen clases que pueden recopilar caractersticas de
clases similares, en otras palabras, una clase general puede agrupar la estructura
y el comportamiento de clases similares, que esa clase general se llama
superclase y que las clases agrupadas en ella se llaman subclases y que sto se
Como se puede observar, en esta figura estn indicadas algunas de las clases
que se utilizan en la solucin del problema, sin embargo ni sus atributos ni sus
mtodos se han indicado. El lector debe llenar estos campos con datos
correspondientes a objetos de la vida real.
En la siguiente figura se ilustran las relaciones entre las diferentes clases,
respecto del aserrador, puesto que este, o sea la clase Aserrador, es la clase
encargada de usar los diferentes objetos. Las realciones entre las clases y la
clase Aserrador es de uso.
Atributos de la Clase
RelojDespertador
marca
Pony
color
Azul Cielo
tipoMaterial
Metal-Plstico
tipoFunciones
Alarma
nombreDueo
Usted
horaActual
La hora actual
horaAlarmaActual
5:00 a.m.
operacion
De cuerda
RelojDespertador
marca
color
tipoMaterial
tipoFunciones
nombre dueo
horaAlarmaActual
horaActual
mostrarHoraActual
modificarHoraActual
programarAlarma
activarAlarma
darleCuerda
sonarAlarma
Persona
programandoRelojDespertador
Este es un corto resumen de cules pueden ser las funciones que usted realiza en
un da cualquiera y en general, as que para el ejercicio que hemos venido
haciendo se tomarn las ms significativas dentro del ejemplo y por favor, no
reniegue si omitimos alguna.
La Clase Persona, en la cual est agrupado el objeto Usted, se define de la
manera indicada en la siguiente figura. Para efectos prcticos, los atributos y
mtodos de la clase Persona, presentes en esta figura, son los que se tendrn en
cuenta en esta unidad.
Hasta ahora no se ha mencionado que los mtodos que conforman el
comportamiento de una Clase, pueden clasificarse en dos grandes grupos:
1. Mtodos que implementan las funciones propias de la clase
2. Mtodos que implementan funciones que dependen de sucesos o eventos
generados por otros objetos.
Por ejemplo, en el caso de la clase Persona, mtodos que implementen
funciones propias de la clase son levantarse, baarse, almorzar, cenar, acostarse,
dormir, encenderGrabadora, sintonizarCanalTV, entro otros, puesto que son
actividades propias de la Persona y que se dan como una rutina en su vida, es
decir, las realiza independiente del da y del lugar.
Los mtodos que implementan funciones que dependen de sucesos o eventos
generados por otros objetos, como conversar, gritar, rer, etc. Por ejemplo
conversar, depende de sucesos o eventos generados por otros objetos, ya que si
usted va a la cafetera despus de salir de clase y no se encuentra con ninguno
de sus amigos en ella, entonces no puede conversar. Para ello necesita
encontrarse con alguien de sus conocidos o simplemente contestar gustoso el
coqueteo de alguna chica que est esperando que le pregunte algo para iniciar
conversacin con usted.
En el caso de gritar, si el conductor del bus al que se mont no es tan salvaje y
es ms recatado para manejar, o el conductor que va en el carro de enseguida
fuera ms consciente al manejar, entonces usted no tendra que gritar. Grit por
un estmulo externo, porque algo le molest y quiso que quin produjo su
incomodidad se diera cuenta de su disgusto, lo cual fue una reaccin a un
suceso o evento generado por el conductor del bus o por el conductor del carro
de enseguida.
En el caso de rer, si la escena que estn pasando en su programa favorito no es
de su total agrado o no le causa chiste en el momento, usted no se reira, pero si
Atributos Clase
ControlRemoto
marca
Pony
conjuntoPilas
Pila 1, Pila 2
conjuntoBotones
Power,
Muting,
Sep,
Display,
TV/Video, 1, 2, 3, 4, 5, 6, 7, 8, 9,
SubirCanal, BajarCanal, subirVolumen,
BajarVolumen
...entre otros...
ControlRemoto
marca
conjuntoPilas
conjuntoBotones
EnviarSealEncenderTelevisor
enviarSealApagarTV
enviarSealCambiarCanalTV
subirVolumen
bajarVolumen
activarMuting
activarVideo
activarModoSleep
Por ahora solo nos van a interesar los mtodos que hemos identificado en el
grfico anterior.
Para nuestro ejemplo, suponemos que usted iba a presionar el botn Power de
su controlRemoto. En ese instante usted se est relacionando con el objeto
controlRemoto, el que a su vez se est relacionando con el objeto televisor. En
otras palabras, usted est dando una orden al objeto controlRemoto para que
encienda el objeto televisor. El objeto controlRemoto a su vez, est enviando
una orden al televisor para que se encienda y aparezca la imagen en la pantalla.
Hay una relacin entre ms de dos objetos que en este caso podramos decir que
es una orden. Esta orden o esta relacin, lo que hace desde el momento en que
usted presiona el botn Power es, activar el mtodo encenderTV del objeto
controlRemoto, mtodo que entonces activa el mtodo desplegarImagen o
encenderTV del objeto Televisor.
Cuando usted va a cambiar el canal actual que se est visualizando en el
televisor, entones oprime el botn correspondiente al canal, por lo tanto usted
est activando su televisor mediante el objeto controlRemoto. Vemos que este
mtodo requiere de un suceso o evento de otro objeto para activarse, luego
podemos clasificarlo tambin como del tipo 2 o de los que requieren de un
suceso o evento generado por otro objeto, tal como se explic antes.
televisor
control remoto
persona
Con esto se puede entender que, existen objetos que se relacionan con otros por
medio de rdenes y que esas rdenes se dan a travs de mensajes. Esos
mensajes entonces activan mtodos que requieren de ellos para comenzar a
realizar la operacin que representan y que esos mensajes activan mtodos que
se pueden clasificar dentro del tipo de aquellos mtodos que requieren de un
suceso o evento producido por otro objeto para poder activarse.
Ahora imagine que usted estaba viendo su programa favorito y que se ha
terminado. Usted mira su objeto reloj despertador y son las 11:00 p.m., y
recuerda angustiosamente que maana tiene un parcial a las 7:00 a.m. Entonces
se pone su pijama, apaga el objeto televisor a travs del botn Power de su
objeto controlRemoto, apaga su objeto lmparaDeMesaDeNoche, se acuesta en
su objeto cama, se arropa con su objeto cobija porque est haciendo mucho fro
y activa su mtodo dormirse y muy posiblemente active su mtodo soar. Que
tenga un feliz descanso, que amanezca como nuevo y que le vaya muy bien en
su parcial. Maana ser un nuevo da, mucha suerte!
Operaciones que manipulan los datos del objeto de alguna forma especfica, por
ejemplo asignan un valor, cambian un valor, etc.
Operaciones que realizan un clculo o proceso especfico.
Mtodos para que los objetos puedan reaccionar ante eventos del medio
Una clase abstracta es una clase que no posee instancias, es decir una clase a
partir de la cual no se pueden crear objetos. Sirve como plantilla para crear otras
clases, que se llaman Clases Concretas o Clases Derivadas.
Una clase abstracta en su definicin posee mtodos que nicamente son
nombrados, pero cuya programacin, implantacin o implementacin se deja
para ser realizada dentro del cuerpo de sus subclases concretas o derivadas. Una
clase abstracta se define con la intencin que sus subclases concretas aadan
elementos nuevos a su estructura y comportamiento, normalmente escribiendo
el cdigo de sus mtodos abstractos. Por lo general, las clases abstractas se
utilizan como raz de una jerarqua de clases.
Las clases abstractas se utilizan para agrupar otras clases y capturar informacin
que es comn a un grupo. Se dice que las clases abstractas corresponden a un
concepto abstracto del mundo real y que por ende no existen representantes de
ella en el mundo. Sin embargo las subclases de clases abstractas, o sea, las
clases concretas que corresponden a objetos del mundo real pueden tener
instancias.
Visibilidad
Recapitulacin
Se ha visto que en el mundo de los objetos, el elemento fundamental es el
objeto. Un objeto es algo que es tangible, identificable y hace parte del mundo
real. Los objetos con caractersticas similares se agrupan en una Clase. Un clase
es la definicin de una agrupacin de objetos con caractersticas similares,
donde dichas caractersticas estn representadas por la estructura y el
comportamiento. Entonces una clase tiene Estructura y Comportamiento. La
estructura est definida por los atributos que los objetos agrupados en esa clase
poseen y el comportamiento est definido por los mtodos u operaciones que
los objetos agrupados en esa clase realicen. Los mtodos se pueden clasificar en
mtodos que el objeto realiza por s mismo y mtodos que se efectan como
respuesta a un evento o suceso que otro objeto ha generado. Nuestro alrededor
esta compuesto de objetos.
Ejercicios
1. Identifique en su salon de clase los objetos existentes. Caractercelos como
objetos.
2. Tome los siguientes objetos: un telefono celular, una calculadora de bolsillo,
una lavadora electrica, una licuadora, un horno micoondas. Para cada uno de
llos:
Identificarlo y caracterizarlo como objeto.
Determinar sus atributos y metodos.
Dibujar el esquema de representacion como objeto.
3. Tome los siguientes animales domsticos, referidos a objetos reales que
existen en algun lugar: un perro, un gato, un loro, un caballo, un conejo.
Establecer sus atributos y caractersticas como objetos. Establecer la clase
que agrupa a cada uno de ellos. Establecer la jerarquia de clases de cada uno
de ellos hasta llegar a la superclase comun de SeresVivos.
4. Tome los siguientes objetos plantas, que usted localice en la realidad:
tomate, rosa, naranjo, zapayo, mango, frijol. Establecer sus atributos y
caractersticas como objetos. Establecer la clase que agrupa a cada uno de
ellos. Establecer la jerarquia de clases de cada uno de ellos hasta llegar a la
superclase comun de SeresVivos.
5. Para cada uno de los objetos de los dos problemas anteriores, hacer la
representacin grfica, indicando slamente tanto los atributos como los
mtodos que le son propios como objeto, si los tiene, ya que los demas son
heredados de sus superclases o ancestros.
6. Ilustre mediante un diagrama una jerarquia de generalizacin, donde los
objetos puedan tener herencia de varias superclases.