Sie sind auf Seite 1von 10

Fundamentos de la Tecnologa de Objetos.

1. Simulacin. Representacin directa de elementos que "maneja" el usuario


en el mundo real.
Consiste en recrear el mundo real. No se trata de construir "modelos
ideales", sino de representarlo directamente. Por ello, en este enfoque, primero se
identifican las caractersticas de los elementos del mundo real, los que se
organizan en las denominadas ESTRUCTURAS DE DATOS. Luego se captan los
comportamientos u operaciones, los cuales se imitan o simulan mediante
pequeos programas (procedimientos) a los que en adelante denominaremos
METODOS. Y as como en la vida real conceptualizamos en una sola unidad
(datos y comportamiento), en TO simulamos este hecho colocando en una especie
de "cpsula" las estructuras de datos y los mtodos, a esta unidad denominamos
OBJETO.
Tambin se simula la manera en que los entes del mundo real se
comunican entre s, envindose seales o "mensajes" a los que responden con
una conducta o comportamiento especfico, de la misma manera se simulan las
clasificaciones, ordenamiento, organizacin, e incluso la herencia de los seres
vivos.
En sntesis, se trata de actuar de la misma manera en que los humanos, a
los que en informtica, en general, se nos denomina usuarios, " manejamos" y
operamos el mundo real.
2. Encapsulamiento. Utilizacin del concepto de "Caja Negra" a una potencia
mucho mayor. Empaquetar datos y operaciones en forma conjunta se llama
ENCAPSULACION.
La encapsulacin es el resultado (o acto) de ocultar, al usuario, los detalles
de la implementacin de un objeto. El objeto oculta sus datos a otros objetos y
slo permite accesar a sus datos va sus propios mtodos mediante mensajes
especficos, es decir, se crea una " Caja Negra" que solo el constructor del objeto
conoce. A esto se llama ocultamiento de informacin. La encapsulacin protege
los datos de un objeto de la corrupcin. Si todos los programas pudieran accesar a
los datos (como actualmente sucede con la tecnologa estructurada), fcilmente
puede corromperse o perderse. La encapsulacin protege los datos del objeto del
uso arbitrario y no intencionado. As la creacin est protegida y la competencia
garantizada.
La encapsulacin tiene dos beneficios primordiales:
i. Modularidad. El cdigo de un objeto puede ser escrito y se puede mantener
independiente del cdigo de otros objetos. Un objeto se puede mover de
sistema en sistema, se puede quitar, modificar y volver a colocar sin alterar
el sistema general.
ii. Esconder la informacin (Information Hiding). Un objeto tiene una interfaz
con la que otros objetos se pueden comunicar, pero puede mantener
informacin privada para s misma que puede cambiar en cualquier
momento, sin afectar a los objetos que dependen de sta.

3. Reutilizacin. Capacidad de reutilizar cdigo sin alterarlo, programando
solo lo adicional o diferente. Base de la Herencia
Durante la vida de un sistema, las estructuras de datos se mantienen
relativamente estables, mientras que las operaciones sobre dichas estructuras
cambian, dependiendo de situaciones. Por ello, en el Anlisis y Diseo Orientado
a Objetos, se da nfasis primordial a los DATOS y al COMPORTAMIENTO de los
objetos y tipos de objetos (modelos). Los datos, como son relativamente estables,
pueden ser utilizados muchas veces, modificando nicamente aquello que sea
necesario para tal o cual situacin, en la misma forma se procede con los
comportamientos. En cambio, en el Anlisis y Diseo Estructurado, se da nfasis a
la descomposicin funcional orientada al proceso, en consecuencia, cualquier
modificacin requiere de una reconstruccin, normalmente, a partir de cero.
Principios Fundamentales.
Los objetos son las cosas fsicas y conceptuales que encontramos en el
universo alrededor de nosotros. Hardware, software, documentos, seres humanos,
los conceptos son todos los ejemplos de los objetos.
Un objeto es algo real o abstracto acerca del cual almacenamos datos y
mtodos que manipulan dichos datos.
Es una persona, lugar o cosa. Ejemplo: Una manzana. Todos los objetos
tienen un estado y un comportamiento. Esto es muy importante. Para el ejemplo
de la manzana, la manzana (hablando de una manzana normal de color rojo)
recin bajada de un rbol, est completa, es dura y de color rojo. Este es su
estado. Uno sabe que si se muerde la manzana va a sonar un "crunch", y esto se
puede interpretar como un comportamiento. Despus de haberla mordido la
manzana cambi de estado. Los objetos pueden tener ms de un comportamiento
y ms de un estado.
Una clase es un grupo de objetos con propiedades (atributos) similares,
comportamiento comn (operaciones), relaciones comunes entre objetos, y
semntica comn.
Un grupo de objetos con las mismas caractersticas. Una clase contiene:
Una descripcin de las variables internas de los objetos de la clase.
Las operaciones que se pueden aplicar al objeto de la clase.
En este ejemplo vamos a analizar la clase Msica de Colombia es la clase
padre de las clases hija Vallenato y Salsa. En otras palabras las clases Vallenato y
Salsa son derivadas de la clase Msica de Colombia. Ellas heredan todas las
propiedades de su padre. Las clases derivadas pueden adicionar, cambiar u
ocultar los miembros pblicos de la clase padre usando las reglas de la herencia.
Cuidado... los miembros privados no pueden ser accesados por otras clases.
Clase padre Msica de Colombia
Atributos: Tipo de ritmo, tipo de instrumentos, msicos.
Mtodos: bailada, cantada, tomada.

Clase hija Vallenato (hereda las propiedades de la clase padre)
Atributos: Tipo de ritmo, tipo de instrumentos, msicos.
Mtodos: bailada, cantada. El nuevo mtodo incluye el tocar un instrumento
tomada.
Clase hija Salsa (hereda las propiedades de las clase padre)
Atributos: Tipo de ritmo, tipo de instrumentos, msicos.
Mtodos: Bailada, cantada, tomada.
1) Objeto.

2) Clases
Ejemplo.
Diseo Orientado a Objetos

3) Estructura de Objetos.
El modelo orientado a objetos se basa en encapsular cdigo y datos en una
nica unidad, llamada objeto. La interfaz entre un objeto y el resto del sistema se
define mediante un conjunto de mensajes.
El motivo de este enfoque puede ilustrarse considerando una base de datos
de documentos en la que los documentos se preparan usando uno entre varios
paquetes software con formateador de texto. Para imprimir un documento debe
ejecutarse el formateador correcto en el documento. Bajo un enfoque orientado a
objetos, cada documento es un objeto que contiene el texto de un documento y el
cdigo que opera sobre el objeto. Todos los objetos del tipo documento responden
al mensaje Imprimir, pero lo hacen de forma diferente. Cada documento responde
ejecutando el cdigo formateador adecuado. Encapsulando dentro del objeto
documento la informacin acerca de cmo imprimirlo, se puede tener todos los
documentos con la misma interfaz externa al usuario (aplicacin).
En general, un objeto tiene asociado:
- Un conjunto de atributos que contienen datos acerca del objeto. A su
vez, cada valor de un atributo es un objeto.
- Un conjunto de mensajes a los que el objeto responde.
- Un conjunto (puede ser unitario) de mtodos, que es un
procedimiento o trozo de cdigo para implementar la respuesta a
cada mensaje. Un mtodo devuelve un valor (otro objeto) como
respuesta al mensaje.
Puesto que la nica interfaz externa de un objeto es el conjunto de
mensajes al que responde, es posible modificar la definicin de mtodos y
atributos sin afectar a otros objetos.
Tambin es posible sustituir un atributo por un mtodo que calcule un valor.
Ejemplo:
Un objeto documento puede contener un atributo de tamao que contenga
el nmero de bytes de texto en el documento, o bien un mtodo de tamao que
calcule el tamao del documento leyndolo y contando el nmero de bytes.
"La capacidad de modificar la definicin de un objeto, sin afectar al resto
del sistema, est considerada como una de las mayores ventajas del Modelo de
Programacin Orientada a Objetos".
4) Jerarqua de Clases.
Normalmente en la realidad a modelar existen muchos objetos similares.
Por similar se quiere decir que tienen una naturaleza parecida, por lo que son
candidatos a poseer atributos, mtodos y responder a mensajes comunes en un
contexto orientado a objetos (VIC).
Para el caso de los objetos similares, sera un trabajo intil definir cada uno
de ellos por separado. Por tanto, se agrupan para que conformen una clase. A
cada uno de estos objetos se le llama instancia de clase. Todos los objetos de una
clase comparten una definicin comn, aunque difieran en los valores asignados a
los atributos.
Ejemplo:
En un banco, son objetos los clientes, las cuentas y los prstamos. Una
clase incluye:
Un atributo con valores en un conjunto cuyo valor es el conjunto de todos
los objetos que son instancias de la clase.
Implementacin de un mtodo para el mensaje nuevo, el cual crea una
nueva instancia de la clase.
Un esquema orientado a los objetos, normalmente requiere un gran nmero
de clases. Sin embargo, a menudo se da el caso que varias clases son similares.
Para permitir la representacin directa de similitudes entre clases, se utiliza una
jerarqua de especializacin, como aquella utilizada por el modelo MER extendido.
Ejemplo:
En un banco, es de esperarse que los Empleados y los Clientes tengan
ciertos atributos comunes como RUT, nombre, direccin y telfono, sin embargo
los Empleados podran tener un atributo exclusivo, como salario, mientras que los
Clientes tendrn atributos como tasa de crdito. Aqu los empleados y clientes
pueden ser representados por especializaciones de una clase Persona. Los
atributos y los mtodos especficos para Empleado se asocian a la clase
Empleado, en forma anloga, se acta para los clientes. Los atributos y mtodos
comunes para empleados y clientes se asocian a la clase Persona.

Obs.:
Denotaremos las clases por medio de rectngulos con lnea doble, mientras
que las instancias de las mismas u objetos, se representarn por rectngulos. El
semicrculo denota la relacin ES_UN, o ESPECIALIZACION de, que se utiliza
para construir la jerarqua de clases (VIC).
5) Operaciones.
Una accin que es afectada por, o requerida por un objeto. Las operaciones
pueden ser selectoras, constructivas, o iterativas. Una operacin es contenida en
la interfaz del objeto y tiene sus detalles descritos en un mtodo correspondiente.
Las operaciones pueden ser compuestas, es decir, integrada por otras
operaciones. Sin embargo no es alentada, la encapsulacin de operaciones
compuestas dentro de la interfaz a un objeto.
6) Mensaje.
Los objetos se comunican unos con otros mediante mensajes. El mensaje
es enviado por un objeto emisor y recibido por un objeto destino o receptor. Un
mensaje invoca una o ms operaciones en el objeto receptor.
7) Herencia.
Principio por el cual una clase se puede derivar de otra clase ya existente,
heredando las caractersticas del padre.
Relacin entre clases de objetos que permite incluir (re-usar) los atributos y
operaciones definidas en otra clase ms general de la cual se hereda o deriva. Es
compartir atributos y operaciones entre clases tomando como base una relacin
jerrquica. En trminos generales se puede definir una clase que despus se ir
refinando sucesivamente para producir subclases. Todas las subclases poseen o
heredan, todas y cada una de las propiedades de su superclase y aaden,
adems, sus propiedades exclusivas. No es necesario repetir las propiedades de
las superclases en cada subclase.
Ejemplo:
Tengo el objeto fruta, con algunas propiedades inherentes a la fruta. Luego
tengo el objeto manzana, que es hijo de fruta y por lo tanto hereda las propiedades
de la fruta, pero puede tener otras propiedades propias de la manzana. Este es un
ejemplo sencillo pero ms o menos ilustra lo que se trata de explicar. El hijo
hereda las caractersticas del padre, pero tiene otras propias y mejora o empeora,
algunas caractersticas del padre.
Ejemplo:
Retornando al caso del banco, podemos observar que como atributos para
la clase persona se tiene rut, nombre, direccin y telfono. A su vez los empleados
tienen un sueldo, y los clientes una tasa de crdito.

En este caso, un objeto de la clase persona tiene como atributos RUT,
Nombre, Direccin y Telfono, un Empleado, hereda todos los anteriores y agrega
el atributo Sueldo, mientras que el Cliente agrega el atributo Tasa Crdito.
Obs.:
1) El tringulo del diagrama denota la relacin COMPUESTO_DE o
INTEGRADO_POR, para indicar que los atributos de una clase pertenecen
a las clases que se indican. En algunos formalismos para modelar clases y
objetos existe la cardinalidad, para indicar el nmero de veces que un
atributo puede aparecer en una clase.
2) En este caso no se han incluido los mtodos pertenecientes a cada clase ni
los mensajes a los que responde cada mtodo. Esto se ha obviado por
quedar fuera del mbito de nuestro inters.
8) Polimorfismo.
Principio en el cual objetos de diferentes clases pueden entender el mismo
mensaje pero responder de manera distinta.
Una vez que se tienen bien claros estos conceptos se puede entender
mejor la filosofa de objetos. Ahora tratamos de encapsular los estados de los
programas por medio de objetos, que pueden ser accesados solamente por medio
de operaciones definidas dentro de ellos mismos.
Los programas estn compuestos por varios objetos. Cada objeto tiene sus
variables internas as como sus mtodos bien definidos. Un mtodo es el
equivalente a un procedimiento.
La misma operacin es resuelta de diferente forma, segn el objeto que
recibe el mensaje. Significa que una misma operacin puede comportarse de
modos distintos en distintas clases. La operacin mover, por ejemplo, se puede
comportar de modo distinto en las clases Ventana y Pieza de ajedrez. Una
operacin es una accin o una transformacin que se lleva a cabo o que se aplica
a un objeto. Justificar a la derecha, visualizar y mover son ejemplos de
operaciones. Una implementacin especfica de una operacin por parte de una
cierta clase es lo que se denomina mtodo. Dado que los operadores orientados
a objetos son polimrficos es posible que haya ms de un mtodo que lo
implemente.
En el mundo real una operacin es simplemente, una abstraccin de
comportamiento anlogo entre distintas clases de objetos. Cada objeto "sabe"
llevar a cabo sus propias operaciones. Sin embargo, en un lenguaje orientado a
objetos es este el que selecciona automticamente el mtodo correcto para
implementar una operacin basndose en el nombre de la operacin y en la clase
del objeto que est siendo afectado. El usuario de una operacin no necesita ser
consciente del nmero de mtodos que existen para implementar una cierta
operacin polimrfica. Se pueden aadir nuevas clases sin modificar el cdigo
existente, siempre y cuando se proporcionen mtodos para todas las operaciones
aplicables a las nuevas clases.
Objeto

9) Identidad.
Los datos estn cuantificados en entidades discretas y distinguibles
denominadas objetos (PE. una televisin, una bicicleta, un rbol). Los objetos
pueden ser concretos, como un archivo en un sistema de archivos, o bien
conceptuales como la poltica de planificacin en un sistema operativo con
multiprocesos. Cada objeto posee su propia identidad inherente. En otras
palabras: dos objetos sern distintos aun cuando los valores de todos sus
atributos (tales como el nombre y el tamao) sean idnticos.
En este modelo no necesitamos detectar los atributos que constituirn el
identificador de un objeto. Aqu cada objeto conserva su identidad
independientemente de su estado.
El estado de un objeto est dado por los valores que en un momento
tengan sus atributos. En el caso de las otras tcnicas, habamos identificado un
elemento de la realidad en base al valor de algn conjunto de sus atributos, por
ejemplo el nombre de una persona o la patente de un auto. Aqu podemos utilizar
el mismo criterio para fines de bsqueda de informacin, pero a diferencia de los
sistemas como los relacinales, aunque modifiquemos el nombre de un objeto
persona, ste seguir siendo el mismo objeto.
10) Clasificacin.
Significa que los objetos con la misma estructura de datos (atributos) y
comportamiento (operaciones) se renen para formar una clase. La seleccin de
clases es arbitraria y depende de la aplicacin.
Ejemplo.
OBJETOS
CLA
SE
ATRIBUTOS Operaciones
Bicicleta de
montaa
Bicicleta de
carreras, Bicicleta de
nios
Bici
cleta
Tamao del
cuadro
tamao de rueda
material
marca
velocidad
Mover
Reparar
Cambiar
velocidad
Triangulo
Cuadrado
Octgono
Pol
gonos
vrtices
color del borde
color del interior
Dibujar
Borrar
Mover

11) Abstraccin.
Consiste en representar las caractersticas esenciales de un objeto, sin
preocuparse de las restantes caractersticas (no esenciales). Una abstraccin se
centra en la vista externa de un objeto, de modo que sirva para separar el
comportamiento esencial de un objeto, de su implementacin. Definir una
abstraccin significa describir una entidad del mundo real, no importa lo compleja
que pueda ser, y a continuacin utilizar esta descripcin en un programa. Una
clase se puede definir como una descripcin abstracta de un grupo de objetos,
cada uno de los cuales se diferencia por su estado especfico y por la posibilidad
de realizar una serie de operaciones.
12) Encapsulamiento.
Mecanismo que permite ocultar los detalles de implementacin de un
objeto. Permite empaquetar en una unidad los datos y las funciones que operan
sobre dichos datos.
Consiste en la combinacin de datos e instrucciones en un nuevo tipo de
datos denominado clase. Facilita la descomposicin modular. En la prctica, una
clase estar formada por dos partes: Una interfaz mediante la cual se acceder a
la funcionalidad de los objetos y Una representacin de la abstraccin utilizando
las facilidades del lenguaje. Es una buena norma el realizar el acceso a los datos
del objeto utilizando los mtodos de la interfaz. Los lenguajes OO permiten
especificar en el objeto elementos que no sern visibles desde el exterior del
mismo pero que son necesarios para su representacin. A esta caracterstica se le
conoce con el nombre de Ocultamiento de Informacin.
Acceso ..-
Mtodos,1 y^
1
^\ I- Datos
13) Agregacin.
Composicin de un objeto por otros. Es una relacin ms dbil que la que
existe entre el atributo y el objeto al cual pertenece, y ms fuerte que una
asociacin.
14) Concurrencia.
Propiedad que distingue un objeto activo de otro inactivo.
15) Persistencia.
Es la propiedad de un objeto cuya existencia trasciende el tiempo y/o el
espacio (PE. El objeto contina existiendo luego de que su creador deja de existir;
la ubicacin de un objeto se mueve a un espacio de direcciones diferente de
aquella donde fue creada).
16) Visibilidad.
Capacidad de restringir el acceso a atributos y servicios de un objeto.
Particularmente importante en el diseo e implementacin (PE. En C++ existen:
pblico, protegido, privado).

Das könnte Ihnen auch gefallen