You are on page 1of 4

Anlisis orientado a objetos es un mtodo de anlisis que examina los

requerimientos desde la perspectiva de clases y objetos encontrada en el


vocabulario original del problema.
Diseo orientado a objetos es un mtodo de diseo que abarca el
proceso de descomposicin orientado a objetos y una notacin para
describir modelos lgicos y fsicos, dinmicos y estticos, del sistema bajo
diseo.
Programacin orientada a objetos es el mtodo de implementacin en
el cual los programas se organizan como colecciones cooperantes de
objetos, cada uno de los cuales representa un ejemplo de alguna clase, y
cuyas clases son todas miembros de una jerarqua de clases unidas por
relaciones (p.e herencia).
Un lenguaje es orientado a objetos si cumple:

Soporta objetos que son abstracciones de datos, mediatizados por


operaciones, y con estados locales ocultos.

Los objetos tienen un tipo asociado (clase).

Los tipos (clases) pueden heredar atributos de supertipos


(superclases).

Qu caracteriza una programacin orientada a objetos?


Abstraccin
Encapsulacin
Modularidad
Jerarquizacin
Tipificado
Concurrencia
Persistencia
Abstraccin
Denota las caractersticas esenciales que distinguen a un objeto de otros
tipos de objetos, definiendo precisas fronteras conceptuales, relativas al
observador.
Encapsulacin
Se denomina encapsulacin al ocultamiento del estado, es decir, de los
datos de un objeto, de manera que solo se pueda cambiar mediante las
operaciones definidas para ese objeto.

Los conceptos de abstraccin y encapsulacin son conceptos


complementarios: abstraccin hace referencia al comportamiento

observable de un objeto, mientras encapsulacin hace referencia a la


implementacin que la hace alcanzar este comportamiento.

Modularidad
Propiedad que permite subdividir una aplicacin en partes ms pequeas
(llamadas mdulos), cada una debe ser lo ms independiente posible.

Jerarquizacin
Es una clasificacin u ordenacin de las abstracciones.

Los tipos de jerarqua ms tiles:


1. Herencia (generalizacin/especializacin, padre/hijo, jerarqua
del tipo "es un"...). Una clase (subclase) comparte la estructura
o comportamiento definido en otra clase, llamada superclase.
2. Agregacin Comprende relaciones del tipo "es parte de" al
realizar una descomposicin.

Tipificado
Tipificar es la imposicin de una clase a un objeto

Concurrencia
Es la propiedad que distingue un objeto activo de uno no activo.
Concurrencia permite que diferentes objetos actuen al mismo tiempo,
usando distintos threads de control.
Persistencia
Es la propiedad por la cual la existencia de un objeto trasciende en el
tiempo (esto es, el objeto sigue existiendo despus de que su creador deja
de existir) o en el espacio (esto es, la localizacin del objeto cambia
respecto a la direccin en la que fue creado).

Objetos
Estado de un objeto
El estado de un objeto abarca todas las propiedades del objeto, y los valores
actuales de cada una de esas propiedades. Las propiedades de los objetos

suelen ser estticas, mientras los valores que toman estas propiedades
cambian con el tiempo.
Identidad de un objeto
Identidad es la propiedad de un objeto que lo lleva a distinguirse de otros.
Comportamiento de un objeto
Comportamiento es como un objeto actua y reacciona
Relaciones entre objetos
Las relaciones entre objetos abarcan las operaciones, resultados y
suposiciones que unos hacen sobre los otros.
1. Enlaces: Son conexiones entre objetos (relacin igual/igual o
cliente/servidor). Denota la asociacin especfica por la que un objeto
(cliente) usa o solicita el servicio de otro objeto (servidor).
2. Agregaciones: Denota relaciones todo/parte, con capacidad para
gobernar desde el todo las partes. Es equivalente a la relacin "tener
un". El todo puede contener a la parte.
Clases
Una clase es un conjunto de objetos que comparten una estructura y
comportamiento comunes.
- Clase representa una abstraccin, la esencia que comparten los
objetos.
- Un objeto es un ejemplo de una clase.
Relacin entre clases
1. Asociacin. Indica relaciones de mandato bidireccionales. Conlleva
dependencia semntica y no establece una direccin de dependencia.
Tienen cardinalidad.
2. Herencia. Por esta relacin una clase (subclase) comparte la
estructura y/o comportamiento definidos en una (herencia simple) o
ms (herencia mltiple) clases, llamadas superclases. (relacin es un
)
3. Agregacin. Representa una relacin del tipo "tener un" entre
clases. Cuando la clase contenida no existe independientemente de la
clase que la contiene se denomina agregacin por valor , mientras
que si existe independientemente y se accede a ella indirectamente,
es agregacin por referencia.
4. Instanciacin. Creacin de instancias o ejemplares

5. Uso. Es un refinamiento de la asociacin donde se especifica cual es


el cliente y cual el servidor de ciertos servicios, permitiendo a los
clientes acceder slo a las interfaces pblicas de los servidores,
ofreciendo mayor encapsulacin de la informacin.
6. Metaclases. Son clases cuyos ejemplos (instancias) son a su vez
clases.

Relaciones entre clases y objetos

Todo objeto es el ejemplo de una clase, y toda clase tiene 0 ms


objetos.

Mientras las clases son estticas, con semntica, relaciones y


existencia fijas previamente a la ejecucin de un programa, los
objetos se crean y destruyen rpidamente durante la actividad de
una aplicacin.

El diseo de clases y objetos es un proceso incremental e iterativo. Debe


asegurar la optimizacin en los parmetros:
1. Acoplamiento: Grado de acoplamiento entre mdulos.
2. Cohesin: Mide el grado de conectividad entre elementos de un
mdulo, y entre objetos de una clase.
3. Suficiencia: Indica que las clases capturan suficientes caractersticas
de la abstraccin para conseguir un comportamiento e interaccin
eficiente y con sentido.
4. Completitud: Indica que la interface de la clase captura todo el
significado caracterstico de una abstraccin, escrito en el mnimo
espacio.
5. Primitividad: Las operaciones deben implementarse si dan acceso a
una representacin fundamental de la abstraccin. Cuales son
operaciones primitivas y cuales no (se pueden realizar a partir de
otras) es un asunto subjetivo y afecta a la eficiencia en la
implementacin.

You might also like