un mundo de objet os
TRANSCRIPT
8/19/2019 Un Mundo de Objet Os
http://slidepdf.com/reader/full/un-mundo-de-objet-os 1/6
MUNDO DE OBJETOS
Una de las ventajas ineludibles de la orientación a objetos es la
posibilidad de refejar sucesos del mundo real mediante tipos
abstractos de datos extensibles a objetos.
Un objeto es en realidad una clase especial de variable de un nuevo
tipo que algún programador ha creado. Los tipos objeto denidos por
el usuario se comportan como tipos incorporados que tienen datos
internos y operaciones externas.
Las operaciones denidas por el usuario se denominan métodos. ara
llamar a uno de estos métodos se hace una petición al objeto! esta
acción se conoce como "enviar un mensaje al objeto#.
Defnición de objetos2
Un objeto es una abstracción de cosas $entidades% del mundo real&
tales que!
• 'odas las cosas del mundo real dentro de un conjunto (
denominadas instancias) tienen las mismas caracter*sticas.
• 'odas las instancias siguen las mismas reglas.
+ada objeto consta de!
• ,stado $atributos%.• -peraciones o comportamiento $métodos invocados por
mensajes%.
esde el punto de vista in/orm0tico& los objetos son tipos abstractos
de datos $tipos que encapsulan datos y /unciones que operan sobre
esos datos%.
Algunos ejemplos tpicos de objetos!
• 1úmero racional
,stado $valor actual%
-peraciones $sumar& multiplicar& asignar%• 2eh*culo
,stado $velocidad& posición& precio%
-peraciones $acelerar& /renar& parar%
• +onjunto
,stado $elementos%
-peraciones $a3adir& quitar& visuali4ar%
• 5vión
,stado $/abricante& modelo& matr*cula& número de pasajeros%
-peraciones $aterri4ar& despegar& navegar%.
8/19/2019 Un Mundo de Objet Os
http://slidepdf.com/reader/full/un-mundo-de-objet-os 2/6
"dentifcación de objetosLa identicación de objetos se obtiene examinando la descripción del
problema $an0lisis gramatical somero del enunciado o descripción% y
locali4ando los nombres o cl0usulas nominales. 1ormalmente& estos
nombres y sus sinónimos se suelen escribir en una tabla de la que
luego deduciremos los objetos reales.
Los objetos& según 6hlaer& 7ellor y +oad89ourdon& pueden caer
dentro de las siguientes categor*as!
• +osas tangibles $avión& reactor nuclear& /uente de alimentación&
televisor& libro& automóvil%.
• :oles o papeles jugados o representados por personas $gerente&
cliente& empleado& médico& paciente& ingeniero%
• -rgani4aciones $empresa& división& equipo %• ;ncidentes $representa un suceso )evento) u ocurrencia& tales
como vuelo& accidente& suceso& llamada a un servicio de
asistencia técnica %
• ;nteracciones $implican generalmente una transacción o
contrato y relacionan dos o m0s objetos del modelo! compras
)comprador& vendedor&
• 5rt*culo)& matrimonio )esposo& esposa& /echa de boda%
• ,specicaciones $muestran aplicaciones de inventario o
/abricación! re/rigerador& 1evera%• Lugares $sala de embarque& muelle de carga%.
Una ve4 identicados los objetos& ser0 preciso identicar los atributos
y las operaciones que actúan sobre ellos.
Los atributos describen la abstracción de caracter*sticas individuales
que poseen todos los objetos.
Las operaciones cambian el objeto )su comportamiento) de alguna
/orma& es decir& cambian valores de uno o m0s atributos contenidos
en el objeto. 5unque existen gran número de operaciones que se
pueden reali4ar sobre un objeto& generalmente se dividen en tres
grandes grupos!
• -peraciones que manipulan los datos de alguna /orma
espec*ca $a3adir& borrar& cambiar /ormato %
• -peraciones que reali4an un c0lculo o proceso
• -peraciones que comprueban $monitori4an% un objeto /rente a
la ocurrencia de algún suceso de control
Du#ación de los objetos
Los objetos son entidades que existen en el tiempo< por ello debenser creados o instanciados $normalmente a través de otros objetos%
8/19/2019 Un Mundo de Objet Os
http://slidepdf.com/reader/full/un-mundo-de-objet-os 3/6
8/19/2019 Un Mundo de Objet Os
http://slidepdf.com/reader/full/un-mundo-de-objet-os 4/6
utili4a para denir el objeto& +uando se utili4a un objeto no
necesitamos conocer todos los detalles de la implementación ,sta
pr0ctica de limitación del acceso a cierta in/ormación interna se llama
ocultación de datos.
-e#encia
La herencia supone una clase base y una jerarqu*a de clases que
contienen las clases derivadas de la clase base. Las clases derivadas
pueden heredar el código y los datos de su clase base& a3adiendo supropio código especial y datos a ellas& incluso cambiar aquellos
elementos de la clase base que necesita sean di/erentes.
1o se debe con/undir las relaciones de los objetos con las clases& con
las relaciones de una clase base con sus clases derivadas Los objetos
existentes en la memoria de la computadora expresan las
caracter*sticas exactas de su clase y sirven como un módulo o
plantilla Las clases derivadas heredan caracter*sticas de su clase
base& pero a3aden otras caracter*sticas propias nuevas.
5s*& se puede decir que una clase de objetos es un conjunto de
objetos que comparten caracter*sticas y comportamientos comunes
,stas caracter*sticas y comportamientos se denen en una clase base
Las clases derivadas se crean en un proceso de denición de nuevos
tipos y reutili4ación del código anteriormente desarrollado en la
denición de sus clases base ,ste proceso se denomina programación
por herencia Las clases que heredan propiedades de una clase base
pueden a su ve4 servir como deniciones base de otras clases. Las
jerarqu*as de clases se organi4an en /orma de 0rbol.
Sinta.is,n lenguaje +== la propiedad de herencia se implementa con la
siguiente sintaxis!
>include?iostream@
>include?stdlib.h@
class 2ehiculoA
public!
8/19/2019 Un Mundo de Objet Os
http://slidepdf.com/reader/full/un-mundo-de-objet-os 5/6
2ehiculo$% A88print/$B,sto es un 2ehiculo....CnB%< D
void despla4ar$%A
print/$B7oviendose....B%< D
D<
class +oche ! public 2ehiculoA
public!
+oche$%A88print/$B,sto es un +oche...CnB%< D
int ruedas< D<
class 7oto ! public +ocheA
public!
7oto$%A
88print/$B,sto es una moto...CnB%<
D
int ruedas<
D<
int main$%A
7oto mimotoE 7oto$%<
mimoto.despla4ar$%<
system$BpauseB%<
return F< D
Tipos de /e#encia
,xisten dos mecanismos de herencia utili4ados comúnmente en
programación orientada a objetos! herencia simple y herencia
múltiple.
8/19/2019 Un Mundo de Objet Os
http://slidepdf.com/reader/full/un-mundo-de-objet-os 6/6
En /e#encia simple& un objeto $clase% puede tener sólo un
ascendiente& o dicho de otro modo& una sub base puede heredar
datos y métodos de una única clase& as* como a3adir o quitar
comportamientos de la clase base 'urbo ascal sólo admite este tipo
de herencia +== admite herencia simple y múltiple.'a /e#encia m0ltiple es la propiedad de una clase de poder tener
m0s de un ascendiente inmediato& o lo que es igual& adquirir datos y
métodos de m0s de una clase.