ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programacion Orientada A Objetos

sisko11 de Septiembre de 2012

742 Palabras (3 Páginas)724 Visitas

Página 1 de 3

Relaciones entre objetos

Las relaciones entre objetos abarcan las operaciones, resultados y suposiciones que unos hacen sobre los otros.

Links Son conexiones físicas o conceptuales entre objetos. Denota la asociación específica por la que un objeto (cliente) usa o solicita el servicio de otro objeto (servidor). El paso de mensajes entre objetos los sincroniza.

Agregaciones Denota relaciones todo/parte, con capacidad para governar desde el todo las partes. Es equivalente a la relación "tener un". El todo puede contener a la parte.

Agregación es conveniente en las ocasiones en que el encapsulamiento de las partes es prioritario. Si se requiere que las relaciones entre objetos esten vagamente acopladas, se utilizan links.

Clases

Una clase es un conjunto de objetos que comparten una estructura y comportamiento comunes.

Clase representa una abstracción, la esencia que comparten los objetos.

Un objeto es un ejemplo de una clase.

Un objeto no es una clase, y una clase no es un objeto (aunque puede serlo, p.e. en Smalltalk).

Las clases actuan como intermediarias entre una abstracción y los clientes que pretenden utilizar la abstracción. De esta forma, la clase muestra:

visión externa de comportamiento (interface), que enfatiza la abstracción escondiendo su estructura y secretos de comportamiento.

visión interna (implementación), que abarca el código que se ofrece en la interface de la clase.

Relaciones entre clases

Representan tipos de compartición entre clases, o relaciones semánticas.

Asociación. Indica relaciones de mandato bidireccionales (Punteros ocultos en C++). Conlleva dependencia semántica y no establece una dirección de dependencia. Tienen cardinalidad.

Herencia. Por esta relación una clase (subclase) comparte la estructura y/o comportamiento definidos en una (herencia simple) o más (herencia múltiple) clases, llamadas superclases.

Representa una relación del tipo "es un" entre clases.

Una subclase aumenta o restringe el comportamiento o estructura de la superclase (o ambas cosas).

Una clase de la que no existen ejemplos se denomina {\it abstracta}.

C++ declara como virtuales todas aquellas funciones que quiere modificar en sus subclases.

Agregación. Representa una relación del tipo "tener un" entre clases. Cuando la clase contenida no existe independientemente de la clase que la contiene se denomina agregación por valor y además implica contenido físico, mientras que si existe independientemente y se accede a ella indirectamente, es agregación por referencia.

Uso. Es un refinamiento de la asociación donde se especifica cual es el cliente y cual el servidor de ciertos servicios, permitiendo a los clientes acceder sólo a las interfaces públicas de los servidores, ofreciendo mayor encapsulación de la información.

Ejemplificación Se usa en lenguajes que soportan genericidad (declaración de clases parametrizadas y argumentos tipo template). Representa las relaciones entre las clases parametrizadas, que admiten parámetros formales, y las clases obtenidas cuando se concretan estos parámetros formales, ejemplificados o inicializados con un ejemplo.

Metaclases Son clases cuyos ejemplos son a su vez clases. No se admiten en C++.

Relaciones entre clases y objetos

Todo objeto es el ejemplo de una clase, y toda clase tiene 0 ó más objetos.

Mientras las clases son estáticas, con semántica, relaciones y existencia fijas previamente a la ejecución de un programa, los objetos se crean y destruyen rápidamente durante la actividad de

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com