Clases

Solo disponible en BuenasTareas
  • Páginas : 2 (443 palabras )
  • Descarga(s) : 0
  • Publicado : 19 de septiembre de 2010
Leer documento completo
Vista previa del texto
Relaciones entre clases
Representan tipos de compartición entre clases, o relaciones semánticas.
1. Asociación. Indica relaciones de mandato bidireccionales (Punteros ocultos en C++). Conllevadependencia semántica y no establece una dirección de dependencia. Tienen cardinalidad.
2. Herencia. Por esta relación una clase (subclase) comparte la estructura y/o comportamiento definidos enuna (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 elcomportamiento 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 quequiere modificar en sus subclases.
3. 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 sedenomina 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.
4. Uso. Es un refinamientode 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 mayorencapsulación de la información.
5. Ejemplificación Se usa en lenguajes que soportan genericidad (declaración de clases parametrizadas y argumentos tipo template). Representa las relaciones entrelas clases parametrizadas, que admiten parámetros formales, y las clases obtenidas cuando se concretan estos parámetros formales, ejemplificados o inicializados con un ejemplo.
6. Metaclases Sonclases 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.
*...
tracking img