Diagrama de Clases

Anuncio
Diagrama de Clases
Ingeniería de Software 2007-01
Andrés Felipe Muñetón
Escuela de Sistemas
Universidad Nacional de Colombia – Sede Medellín
Sam
Pippin
¿Qué
Qué tienen en comú
común Merry,
Sam, Frodo y Pippin?
Merry
Frodo
Mhhh….¿qué características tienen en común?
Son pequeños, tienen orejas puntiagudas, tiene grandes
pies, tienen el pelo rizado, hablan Hobbítico…
LOS CUATRO SON HOBBITS!!!
Arwen
Légolas
¿Qué
Qué tienen en comú
común Légolas,
golas,
Arwen y Galadriel?
Galadriel
Los tres son inmortales, no envejecen, son bellos…..
LOS TRES SON ELFOS
Clase
Descripción de un conjunto de objetos que comparten
los mismos atributos, operaciones y relaciones.
¿Atributos?
¿conjunto de
Objetos?
¿Relaciones?
¿Operaciones?
¿Recuerda a Merry, Frodo, Pippin y Frodo?
Conjunto
Son pequeños, tienen
orejas puntiagudas,
tienen grandes pies, el
pelo rizado, hablan
Hobbítico
Objetos que comparten
atributos
¡Y las operaciones y las relaciones qué!
Más adelante las veremos.
veremos. Por ahora,
ahora, notemos que
Merry, Frodo, Pippin y Frodo se ajustan al concepto
de Clase
Así se representa una clase:
ac
l
e
d
e
Nombr
lase
Atributos de la clase
Clase: un rectángulo
dividido en 3 partes
Ope
r
clas aciones
e
d
La representación de una clase es un rectángulo dividido en 3
segmentos. En el primero se ubica el nombre de la clase, en el
segundo los atributos o propiedades y en el tercero las
operaciones de la clase.
e la
¿Recuerda a Merry, Frodo, Pippin y Frodo?
Conjunto
de
Hobbits
Clase Hobbit
¿Por qué la clase se llama Hobbit y no Hobbits?
¿De dónde salieron esos atributos?, no son los mismos que dijimos
antes: pelo rizado, pies grandes, etc.
Se acostumbra que el nombre de la clase
sea en singular,
singular a pesar de que represente
a un conjunto de elementos.
La clase Hobbit funciona como una fábrica de Hobbits. A
partir de ella se pueden crear diferentes hobbits con
diferentes características: diferente nombre, color de pelo,
largo de pelo, estatura y tamaño de pies (el idioma ya tiene un
valor, el Hobbitico).
¿Podríamos crear diferentes Hobbits si la clase Hobbit tuviera
como atributos: pelo rizado, orejas puntiagudas, etc.?
Pero en algún lado debe ir esto!!!, o sino, ¿cómo
sabré que se trata de un hobbit?
Qué tal si agregamos una operación a la clase Hobbit!
La operación dibujarme() dibuja Hobbits
de acuerdo al valor de cada
característica de la clase Hobbit.
Hobbit hobbitJeremy = (‘Jeremy’, ‘café’,’mediano’,’1 mt’,’grandes’,’Hobbitico’)
objeto
Nombre del Hobbit
hobbitJeremy.dibujarme()
Dibuja un Hobbit con las
características indicadas.
dibujame() dibuja un Hobbit de acuerdo al lenguaje de
programación que se esté utilizando.
Otros ejemplos de Clases
¿?
Conjunto de Articulos
Con título, tema y resumen
Conjunto de
Autores con
identificación
y nombre
RELACIONES
Se decidió que estos eran los únicos atributos
que nos interesaban para los elfos.
La clase Elfo tiene algunos atributos que vimos en la clase Hobbit.
Su operación también es la misma.
Cuando hablábamos de objetos con caracerísticas similares, los
integramos en una clase. ¿Podemos hacer lo mismo en este caso?,
¿Podemos buscar una clase que integre las características
comunes de los Hobbits y los Elfos?
Relación de GENERALIZACIÓN
Clase General
Las características comunes ahora están en una
clase General llamada HabitanteTierraMedia; las
características particulares permanecen en las
clases Especí
Específicas.
ficas.
Símbolo de la
generalización
Clase
Específica
Espera, ¿por qué la operación
dibujarme está en todas las
clases?
La característica tamañoPies de
los hobbits, permanece en la clase
Hobbit.
R:// POLIMORFISMO!!
(Programación Orientada a
Objetos)
Relaciones - Generalización
• La clase especializada comparte
la estructura y comportamiento
de la clase general.
• La clase especializada puede
incluir nuevos atributos y
operaciones.
• La clase general puede ser
reemplazada por la
especializada, pero la clase
especializada no puede ser
reemplazada por la general… Esta relación también es conocida
¿por qué?
como Herencia: ClaseEspecializada
hereda los atributos y operaciones de
ClaseGeneral
RELACIÓN DE ASOCIACIÓN
Entre los elementos que conforman un sistema
debe existir relaciones!!!
¿Qué otras
clases hay en el
señor de los
anillos?
RELACIÓN DE ASOCIACIÓN
*
muchos
asociación
asociación
*
Tanto los Elfos como los Hobbits pueden tener muchas
armas.
Tanto los Elfos como los Hobbits tiene uno sólo vestido.
Los Elfos pueden tener muchos caballos.
Actividad
1. Ingrese a www.eltiempo.com
2. Navegue a través de las diferentes secciones
e ingrese a algunos artículos.
3. Regístrese como usuario (parte superior
derecha de la pantalla).
4. Haga algún comentario en uno de los
artículos.
5. Califique los comentarios de otras personas
que hayan participado con sus comentarios.
6. Diseñe un diagrama de clases para
www.eltiempo.com
Descargar