You are on page 1of 7

Universidad Nacional de La Rioja

Ing. - Lic. en Sistemas

Sistemas II

Prof. Ing. Claudia Cesarini

UNIDAD II
Clases Concepto: La Clase describe el mbito de definicin de un conjunto de objetos, cada objeto pertenece a una clase. Las generalidades estn contenidas en una clase y las particularidades en un objeto. Los objetos informticos se construyen a partir de la clase por un proceso llamado instanciacin. De este modo, todo objeto es una instancia de clase. Representacin Grfica de las Clases: Cada clase se representa bajo la forma de un rectngulo dividido en tres compartimentos: el primero contiene el nombre de la clase, el segundo los atributos y el tercero las operaciones. De modo predeterminado los atributos son ocultos y las operaciones visibles. Los compartimentos pueden suprimirse para agilizar los diagramas.
Nombre Atributos Operaciones

Ejemplo: la clase motocicleta contiene atributos, color, cilindrada y velocidad y tambin operaciones como arrancar, acelerar, frenar.
Motocicleta Color Cilindrada Velocidad mx. Arrancar Acelerar Frenar

Descripcin de las Clases: 1. La especificacin: que describe el mbito de definicin y las propiedades de las instancias de esta clase y corresponde a la nocin de tipo tal como se define en los lenguajes de programacin clsicos. 2. La realizacin: describe como se realiza la especificacin y que contiene el cuerpo de las operaciones y los datos necesarios para su funcionamiento. La separacin entre la especificacin y la realizacin de las clases participa en el nivel de abstraccin. Los trazos destacables se describen en las especificaciones y los detalles en las realizaciones. La ocultacin de los detalles se llama encapsulamiento.

Universidad Nacional de La Rioja

Ing. - Lic. en Sistemas

Sistemas II

Prof. Ing. Claudia Cesarini

Los niveles de encapsulamiento son: 1. + Pblico 2. = Protegido 3. - Privado Relaciones entre las Clases: Al igual que los objetos son instancias de las clases, los enlaces entre objetos son instancias de las relaciones entre clases. Asociacin: expresa una conexin semntica bidireccional entre clases. Es una abstraccin de los enlaces que existen entre los objetos instancias de las clases asociadas. Ejemplo:
enlace California Universidad Gastn Estudiante

enlace Estamburgo Universidad enlace

Gabriela Estudiante

Jos Estudiante

Universidad

Asociacin

Estudiante

Los enlaces entre las universidades y los estudiantes son instancias de la asociacin entre la clase Universidad la clase Estudiante. Para mejor legibilidad, la asociacin puede ir acompaada por una forma verbal activa o pasiva usando el signo >. Ejemplo
Universidad Alberga > Estudiante

Universidad

< Estudia en

Estudiante

Tabla de Valores de Multiplicidad ms Habituales: 1 0..1 M..N * 0..* 1..* Uno y solo uno Cero a uno De M a N (entero naturales) De cero a varios De cero a varios De uno a varios

Universidad Nacional de La Rioja

Ing. - Lic. en Sistemas

Sistemas II

Prof. Ing. Claudia Cesarini

Agregacin: la agregacin es una forma particular de asociacin que expresa un acoplamiento ms fuerte entre clases. Una de las clases cumple una funcin ms importante que la otra en la relacin. Ejemplo:
1 Automvil 1 Motor

Ejemplo de Agregacin reflexiva:


Persona padre

hijos *

Reglas que gobiernan la transicin entre los Diagramas de Clases y los Diagramas de Objetos: Cada objeto es instancia de una clase y la clase del objeto no puede cambiar durante la vida del objeto. Ciertas clases llamadas abstractas no pueden ser instanciadas. Cada enlace es instancia de una relacin. Los enlaces vinculan los objetos, las relaciones vinculan las clases. Un enlace entre dos objetos implica una relacin entre las clases de los dos objetos. Un enlace entre dos objetos indica que estos se conocen y que pueden intercambiar mensajes. Los diagramas de objetos que contienen objetos y enlaces son instancias de diagramas de clases que contienen clases y relaciones.

Jerarqua de Clases Las jerarquas de clases o clasificaciones permiten gestionar la complejidad, ordenando los objetos dentro de rboles de clases de abstraccin creciente. Generalizacin y Especializacin: son puntos de vista centrados en las jerarquas de clases. La generalizacin consiste en factorizar los elementos comunes (atributos, operaciones y restricciones) de un conjunto de clases en una clase ms general llamada superclase. Las clases se ordenan segn su jerarqua, una superclase es una abstraccin de sus subclases. Ejemplo:

Universidad Nacional de La Rioja

Ing. - Lic. en Sistemas

Sistemas II

Prof. Ing. Claudia Cesarini

Vehculo

Vehculo Terrestre

Vehculo Areo

Automvil

Camin

Avin

Helicptero

La generalizacin y la especializacin expresan en que sentido se utiliza una jerarqua de clases. En toda aplicacin real las dos se implementan simultneamente. La generalizacin se amplia preferentemente una vez que los elementos han sido identificados. Superclases y Subclases Resulta ms difcil encontrar las superclases, pero los programas son ms simples de desarrollar. Es ms fcil encontrar las subclases, pero es difcil realizarlas. La generalizacin no recibe ni nombre particular ni valor de multiplicidad. Caractersticas o Propiedades La generalizacin es una relacin No Reflexiva: una clase no puede derivar de si misma. Ejemplo: A
Imposible

La generalizacin es una relacin No Simtrica: si una clase B deriva de una clase A, entonces la clase A no puede derivar de la clase B. Ejemplo: A

Imposible

La generalizacin es una relacin Transitiva: si C deriva de una clase B que deriva a su vez de una clase A entonces C deriva tambin de A. Ejemplo: A B C

Universidad Nacional de La Rioja

Ing. - Lic. en Sistemas

Sistemas II

Prof. Ing. Claudia Cesarini

Sobre la dificultad de Clasificar La determinacin de los criterios de clasificacin es difcil y en ciertos casos no es posible determinarla. Las clasificaciones deben ante todo, discriminar claramente los objetos. Las clasificaciones se efectan segn criterios dependientes del punto de vista. No hay pues una sola clasificacin, son diversas y cada una adaptada a un uso dado. Ejemplo: para los animales pueden observarse numerosos criterios: Estacin Tipo de alimentacin Proteccin Una vez establecidos los criterios hay que seguirlos de manera coherente y uniforme segn el orden determinado, siendo este ltimo arbitrario. En este caso el criterio de la estacin se ha aplicado antes del criterio de alimentacin. Animal
Estacin Bpedo Cuadrpedo Alimentacin Herbvoro Proteccin Plumas Pelo

Conejo

Ejemplo de Clasificacin Desequilibrada:


Vehiculo Terrestre

Segn funcin del vehculo

Marca de moto Harley Davison

Automvil

Camin

La Delegacin La Herencia no es una necesidad absoluta y siempre puede remplazarse por la delegacin. La Delegacin presenta la ventaja de reducir el acoplamiento en el modelo: por una parte el cliente no conoce directamente el proveedor, por otra el proveedor puede ser modificado sobre la marcha. Esta aproximacin permite implementar la generalizacin mltiple con los lenguajes que solo poseen la herencia simple. Ejemplo:

Universidad Nacional de La Rioja

Ing. - Lic. en Sistemas

Sistemas II

Prof. Ing. Claudia Cesarini

Animal

Estacin

Alimento

Bpedo

Cuadrpedo

Herbvoro

Carnvoro

Principio de Sustitucin El Principio de Sustitucin afirma que debe ser posible sustituir cualquier instancia de una superclase por cualquier objeto instancia de una subclase sin que la semntica del programa escrito en los trminos de la superclase sea afectado. Ejemplo:

CP

:CP :CP :CP

:CP

:CP CE :CE Un programa escrito segn los trminos de la clase madre

El Polimorfismo Describe la caracterstica de un elemento que puede tomar varias formas. Un nombre de objeto puede designar instancias de clases diferentes surgidas de un mismo rbol. Principio General: las interacciones entre los objetos se escriben segn los trminos de las especificaciones definidas, en sus superclases. El polimorfismo permite desencadenar operaciones diferentes en respuesta a un mismo mensaje. Cada subclase hereda de la especificacin de las operaciones de sus superclases, pero tiene la posibilidad de modificar localmente el comportamiento de estas operaciones, a fin de tener en cuenta mejor las peculiaridades relacionadas con un nivel de abstraccin dado. Los beneficios del polimorfismo se recogen principalmente durante el mantenimiento. El polimorfismo no influye en el anlisis, pero depende de l, no hay que pensar el anlisis en trminos de polimorfismo hay que pensarlo en trminos de abstraccin y as por efecto secundario beneficiarse de esta abstraccin, hacer posible el polimorfismo. Ejemplo: el siguiente Diagrama representa una coleccin polimorfa: el zoolgico. El zoolgico contiene muchos animales. El nombre Animal conocido de la clase ZOO, describe colectivamente todos los tipos de animales. El programa al nivel de abstraccin del ZOO no necesita conocer los detalles propios de cada animal.

Universidad Nacional de La Rioja

Ing. - Lic. en Sistemas

Sistemas II

Prof. Ing. Claudia Cesarini

ZOO

Animal

Len

Tigre

Oso

Todos los animales del ejemplo saben dormir pero cada raza tiene sus costumbres particulares. La especificacin del animal dice que los animales pueden dormir. Las subclases particularizan la operacin Dormir, segn los gustos de cada raza. Ejemplo: ZOO 1 Animal

Dormir

Len

Tigre

Oso

Dormir () { Sobre el vientre }

Dormir () { Sobre las espaldas }

Dormir () { En un rbol }

You might also like