SlideShare una empresa de Scribd logo
DIAGRAMA	
  DE	
  CLASES	
  
Julián	
  Santoyo	
  
jsdiaz@unab.edu.co	
  
6436111	
  Ext.	
  459	
  
DIAGRAMA	
  DE	
  CLASES	
  
•  Un	
  diagrama	
  de	
  clases	
  sirve	
  para	
  visualizar	
  las	
  
relaciones	
  entre	
  las	
  clases	
  que	
  involucran	
  el	
  
sistema,	
  las	
  cuales	
  pueden	
  ser	
  asocia6vas,	
  de	
  
herencia	
  y	
  de	
  agregación.	
  
•  Un	
  diagrama	
  de	
  clases	
  esta	
  compuesto	
  por	
  los	
  
siguientes	
  elementos:	
  
– Clase:	
  atributos,	
  métodos	
  y	
  visibilidad.	
  
– Relaciones:	
  Herencia,	
  Composición,	
  Agregación,	
  
Asociación	
  y	
  Uso.	
  
CLASE	
  
Es	
  la	
  unidad	
  básica	
  que	
  encapsula	
  toda	
  la	
  
información	
  de	
  un	
  Objeto	
  (un	
  objeto	
  es	
  una	
  
instancia	
  de	
  una	
  clase).	
  A	
  través	
  de	
  ella	
  podemos	
  
modelar	
  el	
  entorno	
  en	
  estudio	
  (una	
  Casa,	
  un	
  
Auto,	
  una	
  Cuenta	
  Corriente,	
  etc.).	
  
CLASE	
  
En	
  UML,	
  una	
  clase	
  es	
  representada	
  por	
  un	
  
rectángulo	
  que	
  posee	
  tres	
  divisiones:	
  
CLASE	
  
•  Superior:	
  Con6ene	
  el	
  nombre	
  de	
  la	
  Clase	
  
•  Intermedio:	
  Con6ene	
  los	
  atributos	
  (o	
  
variables	
  de	
  instancia)	
  que	
  caracterizan	
  a	
  
la	
  Clase	
  (pueden	
  ser	
  private,	
  protected	
  o	
  
public)	
  
•  Inferior:	
  Con6ene	
  los	
  métodos	
  u	
  
operaciones,	
  los	
  cuales	
  son	
  la	
  forma	
  como	
  
interactúa	
  el	
  objeto	
  con	
  su	
  entorno	
  
(dependiendo	
  de	
  la	
  visibilidad:	
  private,	
  
protected	
  o	
  public)	
  
EJEMPLO	
  
Una	
  Cuenta	
  Corriente	
  que	
  posee	
  como	
  
caracterís6ca:	
  
•  Saldo	
  
Puede	
  realizar	
  las	
  operaciones	
  de:	
  
•  Depositar	
  
•  Girar	
  
•  Estado	
  Actual	
  
www.gliffy.com	
  
EJEMPLO	
  
ATRIBUTOS	
  Y	
  MÉTODOS	
  
Atributos:	
  
•  Los	
  atributos	
  o	
  caracterís6cas	
  de	
  una	
  Clase	
  
pueden	
  ser	
  de	
  tres	
  6pos,	
  los	
  que	
  definen	
  el	
  
grado	
  de	
  comunicación	
  y	
  visibilidad	
  de	
  ellos	
  
con	
  el	
  entorno,	
  estos	
  son:	
  
	
  
ATRIBUTOS	
  Y	
  MÉTODOS	
  
–  public	
  (+,	
  	
  	
  	
  	
  	
  ):	
  Indica	
  que	
  el	
  atributo	
  será	
  visible	
  tanto	
  
dentro	
  como	
  fuera	
  de	
  la	
  clase,	
  es	
  decir,	
  es	
  accesible	
  
desde	
  todos	
  lados.	
  
–  private	
  (-­‐,	
  	
  	
  	
  	
  	
  ):	
  Indica	
  que	
  el	
  atributo	
  sólo	
  será	
  
accesible	
  desde	
  dentro	
  de	
  la	
  clase	
  (sólo	
  sus	
  métodos	
  
lo	
  pueden	
  accesar).	
  
–  protected	
  (#,	
  	
  	
  	
  	
  	
  ):	
  Indica	
  que	
  el	
  atributo	
  no	
  será	
  
accesible	
  desde	
  fuera	
  de	
  la	
  clase,	
  pero	
  si	
  podrá	
  ser	
  
accesado	
  por	
  métodos	
  de	
  la	
  clase	
  además	
  de	
  las	
  
subclases	
  que	
  se	
  deriven	
  (ver	
  herencia).	
  
ATRIBUTOS	
  Y	
  MÉTODOS	
  
Métodos:	
  
•  Los	
  métodos	
  u	
  operaciones	
  de	
  una	
  clase	
  son	
  
la	
  forma	
  en	
  como	
  ésta	
  interactúa	
  con	
  su	
  
entorno,	
  éstos	
  pueden	
  tener	
  las	
  
caracterís6cas:	
  
	
  
ATRIBUTOS	
  Y	
  MÉTODOS	
  
–  public	
  (+,	
  	
  	
  	
  	
  	
  ):	
  Indica	
  que	
  el	
  método	
  será	
  visible	
  tanto	
  
dentro	
  como	
  fuera	
  de	
  la	
  clase,	
  es	
  decir,	
  es	
  accsesible	
  
desde	
  todos	
  lados.	
  
–  private	
  (-­‐,	
  	
  	
  	
  	
  	
  ):	
  Indica	
  que	
  el	
  método	
  sólo	
  será	
  
accesible	
  desde	
  dentro	
  de	
  la	
  clase	
  (sólo	
  otros	
  
métodos	
  de	
  la	
  clase	
  lo	
  pueden	
  accesar).	
  
–  protected	
  (#,	
  	
  	
  	
  	
  	
  ):	
  Indica	
  que	
  el	
  método	
  no	
  será	
  
accesible	
  desde	
  fuera	
  de	
  la	
  clase,	
  pero	
  si	
  podrá	
  ser	
  
accesado	
  por	
  métodos	
  de	
  la	
  clase	
  además	
  de	
  métodos	
  
de	
  las	
  subclases	
  que	
  se	
  deriven	
  (ver	
  herencia).	
  
ATRIBUTOS	
  Y	
  MÉTODOS	
  
RELACIONES	
  ENTRE	
  CLASES	
  
•  Ahora	
  ya	
  definido	
  el	
  concepto	
  de	
  Clase,	
  es	
  
necesario	
  explicar	
  como	
  se	
  pueden	
  
interrelacionar	
  dos	
  o	
  más	
  clases	
  (cada	
  uno	
  con	
  
caracterís6cas	
  y	
  obje6vos	
  diferentes).	
  
RELACIONES	
  ENTRE	
  CLASES	
  
Antes	
  es	
  necesario	
  explicar	
  el	
  concepto	
  de	
  
cardinalidad	
  de	
  relaciones:	
  En	
  UML,	
  la	
  
cardinalidad	
  de	
  las	
  relaciones	
  indica	
  el	
  grado	
  y	
  
nivel	
  de	
  dependencia,	
  se	
  anotan	
  en	
  cada	
  
extremo	
  de	
  la	
  relación	
  y	
  éstas	
  pueden	
  ser:	
  
•  uno	
  o	
  muchos:	
  1..*	
  (1..n)	
  
•  0	
  o	
  muchos:	
  0..*	
  (0..n)	
  
•  número	
  fijo:	
  m	
  (m	
  denota	
  el	
  número)	
  
Herencia	
  (Especialización	
  /	
  
Generalización)	
  
•  Indica	
  que	
  una	
  subclase	
  hereda	
  los	
  métodos	
  y	
  
atributos	
  especificados	
  por	
  una	
  Super	
  Clase,	
  
por	
  ende	
  la	
  Subclase	
  además	
  de	
  poseer	
  sus	
  
propios	
  métodos	
  y	
  atributos,	
  poseerá	
  las	
  
caracterís6cas	
  y	
  atributos	
  visibles	
  de	
  la	
  Super	
  
Clase	
  (public	
  y	
  protected),	
  ejemplo:	
  
Herencia	
  (Especialización	
  /	
  
Generalización)	
  
Herencia	
  (Especialización	
  /	
  
Generalización)	
  
•  En	
  la	
  figura	
  se	
  especifica	
  que	
  Auto	
  y	
  
Camioneta	
  heredan	
  de	
  Vehículo,	
  es	
  decir,	
  
Auto	
  posee	
  las	
  Caracterís6cas	
  de	
  Vehículo	
  
(dueño,	
  puertas,	
  ruedas	
  etc.)	
  además	
  posee	
  
algo	
  par6cular	
  que	
  es	
  descapotable.	
  
Camioneta	
  también	
  hereda	
  las	
  caracterís6cas	
  
de	
  Vehículo	
  (dueño,	
  puertas,	
  ruedas	
  etc.)	
  pero	
  
posee	
  como	
  par6cularidad	
  propia	
  Tara	
  y	
  
Carga.	
  
Herencia	
  (Especialización	
  /	
  
Generalización)	
  
•  Cabe	
  destacar	
  que	
  fuera	
  de	
  este	
  entorno,	
  lo	
  
único	
  "visible"	
  es	
  el	
  método	
  caracterís6cas()	
  
aplicable	
  a	
  instancias	
  de	
  vehículo,	
  auto	
  y	
  
camioneta,	
  pues	
  6ene	
  definición	
  pública,	
  en	
  
cambio	
  atributos	
  como	
  descapotable	
  no	
  son	
  
visibles	
  por	
  ser	
  privados.	
  
Objetos	
  
•  Un	
  objeto	
  es	
  una	
  instancia	
  de	
  una	
  clase.	
  
Por	
  ejemplo	
  el	
  taxi	
  matrícula	
  BFG-­‐7452	
  es	
  
una	
  instancia	
  de	
  la	
  clase	
  Taxi.	
  
Objetos	
  
Ejercicio	
  
•  Considera	
  que	
  queremos	
  representar	
  los	
  
aviones	
  que	
  operan	
  en	
  un	
  aeropuerto.	
  Crea	
  
un	
  esquema	
  análogo	
  al	
  que	
  hemos	
  visto	
  
para	
  vehículos,	
  pero	
  en	
  este	
  caso	
  para	
  
aviones.	
  Define	
  cuáles	
  podrían	
  ser	
  las	
  
clases	
  y	
  cuáles	
  podrían	
  ser	
  algunos	
  objetos	
  
de	
  una	
  clase.	
  
Asociación	
  
•  La	
  relación	
  entre	
  clases	
  conocida	
  como	
  
Asociación,	
  permite	
  asociar	
  objetos	
  que	
  
colaboran	
  entre	
  si,	
  para	
  alcanzar	
  una	
  meta.	
  
Cabe	
  destacar	
  que	
  no	
  es	
  una	
  relación	
  fuerte,	
  
es	
  decir,	
  el	
  6empo	
  de	
  vida	
  de	
  un	
  objeto	
  no	
  
depende	
  del	
  otro.	
  
Asociación	
  
•  Ejemplo:	
  
Asociación	
  
•  Ejemplo:	
  
•  Un	
  cliente	
  puede	
  tener	
  asociadas	
  muchas	
  
Ordenes	
  de	
  Compra,	
  en	
  cambio	
  una	
  orden	
  de	
  
compra	
  solo	
  puede	
  tener	
  asociado	
  un	
  cliente.	
  
Asociación	
  
Ejercicio:	
  
•  Representar	
  la	
  relación:	
  	
  
– El	
  cliente	
  usa	
  tarjeta	
  de	
  crédito.	
  
– El	
  ingeniero	
  usa	
  una	
  computadora	
  
Asociación	
  
Asociación	
  
•  Customer	
  es	
  independiente	
  de	
  CreditCard,	
  
puesto	
  que	
  el	
  cliente	
  puede	
  exis6r	
  sin	
  
necesidad	
  de	
  tener	
  asignada	
  una	
  tarjeta	
  de	
  
crédito.	
  	
  
•  Se	
  puede	
  asignar	
  o	
  re6rar	
  la	
  tarjeta	
  de	
  crédito,	
  
sin	
  que	
  la	
  existencia	
  del	
  Cliente	
  se	
  vea	
  
afectada	
  (No	
  debería	
  verse	
  afectada,	
  esto	
  
significa	
  que	
  Customer	
  no	
  debe	
  tener	
  
problemas	
  si	
  no	
  hay	
  una	
  CreditCard	
  presente).	
  
Asociación	
  
•  Podemos	
  crear	
  un	
  objeto	
  de	
  6po	
  Customer	
  y	
  
asignarle	
  un	
  CreditCard	
  más	
  tarde	
  mediante	
  el	
  
método	
  setCreditCard.	
  	
  
•  Llamaremos	
  a	
  las	
  clases	
  Customer	
  clase	
  
contenedora.	
  
Agregación	
  y	
  	
  
Composición	
  
•  Para	
  modelar	
  objetos	
  complejos,	
  bastan	
  los	
  
6pos	
  de	
  datos	
  básicos	
  que	
  proveen	
  los	
  
lenguajes:	
  enteros,	
  reales	
  y	
  secuencias	
  de	
  
caracteres.	
  Cuando	
  se	
  requiere	
  componer	
  
objetos	
  que	
  son	
  instancias	
  de	
  clases	
  definidas	
  
por	
  el	
  desarrollador	
  de	
  la	
  aplicación,	
  tenemos	
  
dos	
  posibilidades:	
  
Agregación	
  y	
  	
  
Composición	
  
•  Por	
  Valor:	
  Es	
  un	
  6po	
  de	
  relación	
  está6ca,	
  en	
  
donde	
  el	
  6empo	
  de	
  vida	
  del	
  objeto	
  incluido	
  
esta	
  condicionado	
  por	
  el	
  6empo	
  de	
  vida	
  del	
  
que	
  lo	
  incluye.	
  Este	
  6po	
  de	
  relación	
  es	
  
comúnmente	
  llamada	
  Composición	
  (el	
  Objeto	
  
base	
  se	
  construye	
  a	
  par6r	
  del	
  objeto	
  incluido).	
  
Agregación	
  y	
  	
  
Composición	
  
•  Por	
  Referencia:	
  Es	
  un	
  6po	
  de	
  relación	
  
dinámica,	
  en	
  donde	
  el	
  6empo	
  de	
  vida	
  del	
  
objeto	
  incluido	
  es	
  independiente	
  del	
  que	
  lo	
  
incluye.	
  Este	
  6po	
  de	
  relación	
  es	
  comúnmente	
  
llamada	
  Agregación	
  (el	
  objeto	
  base	
  u6liza	
  al	
  
incluido	
  para	
  su	
  funcionamiento).	
  
Agregación	
  y	
  	
  
Composición	
  
•  Ejemplo	
  1:	
  
Agregación	
  y	
  	
  
Composición	
  
En	
  donde	
  se	
  destaca	
  que:	
  
•  Un	
  Almacén	
  posee	
  Clientes	
  y	
  Cuentas	
  (los	
  
rombos	
  van	
  en	
  el	
  objeto	
  que	
  posee	
  las	
  
referencias).	
  
•  Cuando	
  se	
  destruye	
  el	
  Objeto	
  Almacén	
  
también	
  son	
  destruidos	
  los	
  objetos	
  Cuenta	
  
asociados,	
  en	
  cambio	
  no	
  son	
  afectados	
  los	
  
objetos	
  Cliente	
  asociados.	
  
Agregación	
  y	
  	
  
Composición	
  
•  La	
  composición	
  (por	
  Valor)	
  se	
  destaca	
  por	
  un	
  
rombo	
  relleno.	
  
•  La	
  agregación	
  (por	
  Referencia)	
  se	
  destaca	
  por	
  
un	
  rombo	
  transparente.	
  
La	
  flecha	
  en	
  este	
  6po	
  de	
  relación	
  indica	
  la	
  
navegabilidad	
  del	
  objeto	
  referenciado.	
  Cuando	
  
no	
  existe	
  este	
  6po	
  de	
  par6cularidad	
  la	
  flecha	
  se	
  
elimina.	
  
Agregación	
  y	
  	
  
Composición	
  
Ejemplo	
  2:	
  
•  Tenemos	
  una	
  clase	
  Empresa.	
  
•  Tenemos	
  una	
  clase	
  Cliente.	
  
•  Una	
  empresa	
  agrupa	
  a	
  varios	
  
clientes.	
  
Agregación	
  y	
  	
  
Composición	
  
•  Tenemos	
  una	
  clase	
  Empresa.	
  
•  Un	
  objeto	
  Empresa	
  está	
  a	
  su	
  vez	
  
compuesto	
  por	
  uno	
  o	
  varios	
  objetos	
  
del	
  6po	
  empleado.	
  
•  El	
  6empo	
  de	
  vida	
  de	
  los	
  objetos	
  
Empleado	
  depende	
  del	
  6empo	
  de	
  
vida	
  de	
  Empresa,	
  ya	
  que	
  si	
  no	
  existe	
  
una	
  Empresa	
  no	
  pueden	
  exis6r	
  sus	
  
empleados.	
  
Agregación	
  y	
  	
  
Composición	
  
•  Las	
  relaciones	
  de	
  Agregación	
  y	
  Composición	
  
son	
  dos	
  6pos	
  de	
  especialización	
  de	
  la	
  relación	
  
de	
  Asociación.	
  
•  En	
  la	
  Composición	
  hay	
  una	
  "relación	
  de	
  vida",	
  
es	
  decir,	
  el	
  6empo	
  de	
  vida	
  de	
  un	
  objeto	
  está	
  
condicionado	
  por	
  el	
  6empo	
  de	
  vida	
  del	
  objeto	
  
que	
  lo	
  incluye.	
  
Agregación	
  
•  La	
  Clase	
  A	
  agrupa	
  varios	
  elementos	
  del	
  6po	
  
Clase	
  B.	
  
Agregación	
  
Ejemplo	
  
•  Tenemos	
  una	
  clase	
  Agenda.	
  
•  Tenemos	
  una	
  clase	
  Contacto.	
  
•  Una	
  Agenda	
  agrupa	
  varios	
  Contactos.	
  
Agregación	
  
Ejemplo	
  
•  Un	
  objeto	
  de	
  6po	
  Ciudad	
  
6ene	
  una	
  lista	
  de	
  objetos	
  de	
  
6po	
  Aeropuerto,	
  una	
  ciudad	
  
6ene	
  un	
  número	
  de	
  
aeropuertos.	
  La	
  cardinalidad	
  
del	
  extremo	
  que	
  lleva	
  el	
  
rombo,	
  es	
  siempre	
  uno.	
  
Composición	
  
•  La	
  Clase	
  A	
  agrupa	
  varios	
  elementos	
  del	
  6po	
  
Clase	
  B.	
  
•  El	
  6empo	
  de	
  vida	
  de	
  los	
  objetos	
  de	
  6po	
  Clase	
  
B	
  está	
  condicionado	
  por	
  el	
  6empo	
  de	
  vida	
  del	
  
objeto	
  de	
  6po	
  Clase	
  A.	
  
Composición	
  
Ejemplo	
  
•  Tenemos	
  una	
  clase	
  Silla.	
  
•  Un	
  objeto	
  Silla	
  está	
  a	
  su	
  vez	
  compuesto	
  por	
  
cuatro	
  objetos	
  del	
  6po	
  Pata.	
  
•  El	
  6empo	
  de	
  vida	
  de	
  los	
  objetos	
  Pata	
  depende	
  
del	
  6empo	
  de	
  vida	
  de	
  Silla,	
  ya	
  que	
  si	
  no	
  existe	
  
una	
  Silla	
  no	
  pueden	
  exis6r	
  sus	
  Patas.	
  
Composición	
  
Ejemplo	
  
•  El	
  avión	
  6ene	
  sen6do	
  por	
  
si	
  solo,	
  pero	
  esta	
  claro	
  que	
  
esta	
  compuesto	
  de	
  2	
  alas,	
  
esta	
  relación	
  es	
  de	
  mucha	
  
fuerza,	
  mucho	
  más	
  que	
  el	
  
caso	
  de	
  los	
  aeropuertos.	
  
Composición	
  
Ejercicio:	
  
•  Representar	
  la	
  relación:	
  	
  
– El	
  auto	
  6ene	
  llantas.	
  
– El	
  portá6l	
  6ene	
  un	
  teclado.	
  
Composición	
  
Composición	
  
Los	
  objetos	
  que	
  componen	
  a	
  la	
  clase	
  contenedora,	
  
deben	
  exis6r	
  desde	
  el	
  principio.	
  (También	
  pueden	
  
ser	
  creados	
  en	
  el	
  constructor,	
  no	
  sólo	
  al	
  momento	
  
de	
  declarar	
  las	
  variables	
  como	
  se	
  muestra	
  en	
  el	
  
ejemplo).	
  
No	
  hay	
  momento	
  (No	
  debería)	
  en	
  que	
  la	
  clase	
  
contenedora	
  pueda	
  exis6r	
  sin	
  alguno	
  de	
  sus	
  objetos	
  
componentes.	
  Por	
  lo	
  que	
  la	
  existencia	
  de	
  estos	
  
objetos	
  no	
  debe	
  ser	
  abiertamente	
  manipulada	
  
desde	
  el	
  exterior	
  de	
  la	
  clase.	
  
Diferencias	
  entre	
  	
  
Composición	
  y	
  Agregación	
  
Agregación	
   Composición	
  
Varias	
  asociaciones	
  
comparten	
  los	
  
componentes	
  
Si	
   No	
  
Destrucción	
  de	
  los	
  
componentes	
  al	
  destruir	
  el	
  
compuesto	
  
No	
  	
   Si	
  
Cardinalidad	
  a	
  nivel	
  de	
  
compuesto	
  
Cualquiera	
   0..1	
  ó	
  1	
  
Representación	
   Rombo	
  Transparente	
   Rombo	
  Negro	
  
Dependencia	
  o	
  	
  
Instanciación	
  (uso)	
  
•  Representa	
  un	
  6po	
  de	
  relación	
  muy	
  par6cular,	
  
en	
  la	
  que	
  una	
  clase	
  es	
  instanciada	
  (su	
  
instanciación	
  es	
  dependiente	
  de	
  otro	
  objeto/
clase).	
  Se	
  denota	
  por	
  una	
  flecha	
  punteada.	
  
Dependencia	
  o	
  	
  
Instanciación	
  (uso)	
  
•  El	
  uso	
  más	
  par6cular	
  de	
  este	
  6po	
  de	
  relación	
  
es	
  para	
  denotar	
  la	
  dependencia	
  que	
  6ene	
  una	
  
clase	
  de	
  otra,	
  como	
  por	
  ejemplo	
  una	
  
aplicación	
  grafica	
  que	
  instancia	
  una	
  ventana	
  
(la	
  creación	
  del	
  Objeto	
  Ventana	
  esta	
  
condicionado	
  a	
  la	
  instanciación	
  proveniente	
  
desde	
  el	
  objeto	
  Aplicación):	
  
Dependencia	
  o	
  	
  
Instanciación	
  (uso)	
  
Dependencia	
  o	
  	
  
Instanciación	
  (uso)	
  
•  Cabe	
  destacar	
  que	
  el	
  objeto	
  creado	
  (en	
  este	
  
caso	
  la	
  Ventana	
  gráfica)	
  no	
  se	
  almacena	
  
dentro	
  del	
  objeto	
  que	
  lo	
  crea	
  (en	
  este	
  caso	
  la	
  
Aplicación).	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  La	
  clase	
  comienza	
  normalmente	
  con	
  la	
  
declaración	
  de	
  las	
  variables	
  de	
  instancia.	
  
Donde	
  perfiles	
  y	
  lugaresFrecuentes	
  son	
  dos	
  
colecciones	
  (podrían	
  ser	
  arrays)	
  que	
  se	
  
transformarán	
  en	
  contenedores	
  de	
  
elementos.	
  	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  Al	
  ser	
  propiedades	
  6enen	
  geiers	
  y	
  seiers	
  
(accessors	
  y	
  mutators),	
  que	
  nada	
  6enen	
  que	
  
ver	
  con	
  la	
  agregación	
  y	
  la	
  composición.	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  Asociación	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  	
  La	
  primera	
  caracterís6ca	
  es	
  que	
  la	
  clase	
  
con6ene	
  dos	
  métodos	
  uno	
  que	
  agrega	
  
elementos	
  a	
  la	
  colección	
  y	
  otro	
  que	
  los	
  
elimina	
  de	
  ella.	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  Los	
  objetos	
  son	
  pasados	
  por	
  parámetro,	
  no	
  
han	
  sido	
  instanciados	
  dentro	
  del	
  método,	
  es	
  
decir	
  no	
  hemos	
  realizado	
  el	
  new	
  del	
  objeto.	
  	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  Ha	
  "nacido"	
  en	
  cualquier	
  otra	
  parte	
  y	
  se	
  lo	
  hemos	
  
pasado	
  por	
  parámetro	
  al	
  método	
  para	
  ser	
  
agregado	
  a	
  la	
  lista	
  lugaresFrecuentes.	
  En	
  otras	
  
palabras,	
  el	
  objeto	
  Persona	
  podría	
  morir	
  y	
  el	
  
objeto	
  Lugar	
  aún	
  podría	
  mantener	
  una	
  referencia	
  
ac6va	
  en	
  alguna	
  otra	
  parte	
  de	
  nuestro	
  código	
  por	
  
lo	
  tanto	
  sus	
  ciclos	
  de	
  vida	
  no	
  estarían	
  atados.	
  No	
  
nace	
  ni	
  muere,	
  dentro	
  del	
  objeto	
  Persona.	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  ¿Cual	
  es	
  la	
  diferencia	
  con	
  la	
  composición?	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  La	
  composición	
  también	
  6ene	
  los	
  métodos	
  
para	
  agregar	
  y	
  borrar.	
  Pero	
  "el	
  new	
  del	
  objeto	
  
se	
  realiza	
  dentro	
  del	
  método	
  agregar”.	
  	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  La	
  instanciación	
  del	
  objeto	
  p	
  se	
  realiza	
  dentro	
  del	
  
método	
  agregar	
  y	
  la	
  referencia	
  no	
  se	
  devuelve	
  
(es	
  void	
  o	
  boolean).	
  
•  La	
  variable	
  de	
  referencia	
  local	
  va	
  a	
  dejar	
  de	
  exis6r	
  
una	
  vez	
  que	
  el	
  método	
  termine	
  de	
  ejecutarse,	
  y	
  
el	
  ciclo	
  de	
  vida	
  de	
  esa	
  instancia	
  en	
  par6cular	
  va	
  a	
  
quedar	
  atada	
  a	
  la	
  lista,	
  y	
  por	
  ende	
  a	
  la	
  Persona.	
  	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  Una	
  vez	
  que	
  el	
  objeto	
  Persona	
  no	
  se	
  referencie	
  más,	
  (o	
  sea	
  
muera,	
  técnicamente	
  esto	
  no	
  es	
  así)	
  el	
  objeto	
  lista,	
  quedará	
  
sin	
  referencia,	
  y	
  por	
  lo	
  tanto	
  sus	
  elementos	
  también.	
  	
  
•  Se	
  deberá	
  crear	
  primero	
  una	
  instancia	
  de	
  Persona,	
  para	
  
después	
  poder	
  agregar	
  un	
  Perfil.	
  Empezando	
  así	
  a	
  "atar"	
  el	
  
ciclo	
  de	
  vida	
  de	
  un	
  Perfil,	
  al	
  de	
  una	
  Persona.	
  En	
  cuanto	
  al	
  
método	
  remover,	
  no	
  existe	
  nada	
  de	
  extraordinario,	
  
simplemente	
  quitamos	
  un	
  elemento	
  de	
  la	
  lista.	
  
Composición,	
  Agregación,	
  	
  
Asociación	
  
•  La	
  Clase	
  Foto	
  se	
  deduce	
  del	
  diagrama	
  y	
  no	
  6ene	
  complicaciones,	
  
son	
  simplemente	
  3	
  variables:	
  
DIAGRAMA	
  DE	
  CLASES	
  
Julián	
  Santoyo	
  
jsdiaz@unab.edu.co	
  
6436111	
  Ext.	
  459	
  

Más contenido relacionado

La actualidad más candente

UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
Guillermo Díaz
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
Caro_Noirgean
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
Victor Escamilla
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
DorvinEduardo
 
Modelo entidad
Modelo entidadModelo entidad
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
basilioj
 
Ejercicios en clase Unidad II
Ejercicios en clase Unidad IIEjercicios en clase Unidad II
Ejercicios en clase Unidad II
Luis Caiza
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
josecuartas
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
David Motta Baldarrago
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
Juan Carlos Tapias
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
Jorge Garcia
 
Modelos Lógicos Basados en Objetos
Modelos Lógicos Basados en ObjetosModelos Lógicos Basados en Objetos
Modelos Lógicos Basados en Objetos
Yessenia I. Martínez M.
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
yoiner santiago
 
Ejemplo dfd
Ejemplo dfdEjemplo dfd
Ejemplo dfd
Viviana Martín
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
sergio limachi
 
Ejercicios uml
Ejercicios umlEjercicios uml
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
Giancarlo Aguilar
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
Fani Calle
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
jose_rob
 

La actualidad más candente (20)

UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Ejercicios en clase Unidad II
Ejercicios en clase Unidad IIEjercicios en clase Unidad II
Ejercicios en clase Unidad II
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Modelos Lógicos Basados en Objetos
Modelos Lógicos Basados en ObjetosModelos Lógicos Basados en Objetos
Modelos Lógicos Basados en Objetos
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Ejemplo dfd
Ejemplo dfdEjemplo dfd
Ejemplo dfd
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 

Similar a Diagrama de clases

Tutorial uml
Tutorial umlTutorial uml
Tutorial uml
Manuel Hormechea
 
encuesta
encuestaencuesta
encuesta
deliamartinez
 
Clase 17
Clase 17Clase 17
Clase 17
victdiazm
 
clases
clasesclases
Clases 2
Clases 2Clases 2
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
Alvaro Vargas
 
U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1
Giovanni Mézquita Hoyos
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definiciones
Boris Salleg
 
Diagrama de casos
Diagrama de casosDiagrama de casos
Diagrama de casos
turlahackers
 
UNIDADIII. CREACION DIAGRAMA DE CLASES
UNIDADIII. CREACION DIAGRAMA DE CLASESUNIDADIII. CREACION DIAGRAMA DE CLASES
UNIDADIII. CREACION DIAGRAMA DE CLASES
Selene Gomez Barragan
 
Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)
Servicio Tecnico de Computadoras
 
3. Clases y Objetos.pdf
3. Clases y Objetos.pdf3. Clases y Objetos.pdf
3. Clases y Objetos.pdf
RicardoOByrne1
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
mireya2022
 
Uml diagrama claseobjeto
Uml diagrama claseobjetoUml diagrama claseobjeto
Uml diagrama claseobjeto
luisgustavosanchez
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
UVM
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
Universidad Técnica del Norte
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
José Antonio Sandoval Acosta
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
José Antonio Sandoval Acosta
 
Ads actividad7 clases
Ads actividad7 clasesAds actividad7 clases
Ads actividad7 clases
Elias Daniel Espinoza Silupu
 
Paradigma POO.pptx
Paradigma POO.pptxParadigma POO.pptx
Paradigma POO.pptx
RalAnteloJurado
 

Similar a Diagrama de clases (20)

Tutorial uml
Tutorial umlTutorial uml
Tutorial uml
 
encuesta
encuestaencuesta
encuesta
 
Clase 17
Clase 17Clase 17
Clase 17
 
clases
clasesclases
clases
 
Clases 2
Clases 2Clases 2
Clases 2
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definiciones
 
Diagrama de casos
Diagrama de casosDiagrama de casos
Diagrama de casos
 
UNIDADIII. CREACION DIAGRAMA DE CLASES
UNIDADIII. CREACION DIAGRAMA DE CLASESUNIDADIII. CREACION DIAGRAMA DE CLASES
UNIDADIII. CREACION DIAGRAMA DE CLASES
 
Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)
 
3. Clases y Objetos.pdf
3. Clases y Objetos.pdf3. Clases y Objetos.pdf
3. Clases y Objetos.pdf
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Uml diagrama claseobjeto
Uml diagrama claseobjetoUml diagrama claseobjeto
Uml diagrama claseobjeto
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Ads actividad7 clases
Ads actividad7 clasesAds actividad7 clases
Ads actividad7 clases
 
Paradigma POO.pptx
Paradigma POO.pptxParadigma POO.pptx
Paradigma POO.pptx
 

Último

VIRUS DE LA MANCHA ANILLADA DE LA PAPAYA(PRSV).ppt
VIRUS DE LA MANCHA ANILLADA DE LA PAPAYA(PRSV).pptVIRUS DE LA MANCHA ANILLADA DE LA PAPAYA(PRSV).ppt
VIRUS DE LA MANCHA ANILLADA DE LA PAPAYA(PRSV).ppt
HectorEnriqueCespede1
 
Fundamentos-Ensayos-Al-Fuego de oro y plata
Fundamentos-Ensayos-Al-Fuego de oro  y plataFundamentos-Ensayos-Al-Fuego de oro  y plata
Fundamentos-Ensayos-Al-Fuego de oro y plata
RobertoChvez25
 
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptxPRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
MONICADELROCIOMUNZON1
 
Aletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptxAletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptx
jeffersoncolina427
 
GUIA PARA INSPECCION DE PUENTES MTC (1).PDF
GUIA PARA INSPECCION DE PUENTES MTC (1).PDFGUIA PARA INSPECCION DE PUENTES MTC (1).PDF
GUIA PARA INSPECCION DE PUENTES MTC (1).PDF
DltMercadoLenin
 
LA SUSPENSIÓN, CÁLCULO DE BALLESTAS.ppt
LA SUSPENSIÓN,  CÁLCULO DE BALLESTAS.pptLA SUSPENSIÓN,  CÁLCULO DE BALLESTAS.ppt
LA SUSPENSIÓN, CÁLCULO DE BALLESTAS.ppt
marcelo correa
 
Presentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdfPresentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdf
jorgecuasapaz182
 
Características de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptxCaracterísticas de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptx
MONICADELROCIOMUNZON1
 
Programas relacionado a telecomunicaciones.pptx
Programas relacionado a telecomunicaciones.pptxProgramas relacionado a telecomunicaciones.pptx
Programas relacionado a telecomunicaciones.pptx
AndrsSerrano23
 
CURSO COMPLETO FIBRA OPTICA MULTIMODO.pdf
CURSO COMPLETO FIBRA OPTICA MULTIMODO.pdfCURSO COMPLETO FIBRA OPTICA MULTIMODO.pdf
CURSO COMPLETO FIBRA OPTICA MULTIMODO.pdf
DanielCisternasCorte
 
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdf
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdfCarlos Augusto da Silva Lins todosIngressantes2024-1.pdf
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdf
juntosvenceremosbras
 
Pasamuros Cortafuego - Industrias Metalfox
Pasamuros Cortafuego - Industrias MetalfoxPasamuros Cortafuego - Industrias Metalfox
Pasamuros Cortafuego - Industrias Metalfox
INDUSTRIAS METALFOX S.A.S.
 
Control Industrial control de procesos .pptx
Control Industrial control de procesos .pptxControl Industrial control de procesos .pptx
Control Industrial control de procesos .pptx
Efrain Yungan
 
ANALISIS ESTRUCTURALES SAP2000 EN SISTEMAS ESTRUCTURALES
ANALISIS ESTRUCTURALES SAP2000 EN SISTEMAS ESTRUCTURALESANALISIS ESTRUCTURALES SAP2000 EN SISTEMAS ESTRUCTURALES
ANALISIS ESTRUCTURALES SAP2000 EN SISTEMAS ESTRUCTURALES
John Paul Collazos Campos
 
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptxCARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
0602021003
 
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptxGravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
RobertoChvez25
 
presentacion de estabilidad y empuje mecanica de fluidos
presentacion de estabilidad y empuje mecanica de fluidospresentacion de estabilidad y empuje mecanica de fluidos
presentacion de estabilidad y empuje mecanica de fluidos
EnriqueOliva4
 
Análisis Estructural - 8va.Ed - R. C. Hibbeler.pdf
Análisis Estructural - 8va.Ed - R. C. Hibbeler.pdfAnálisis Estructural - 8va.Ed - R. C. Hibbeler.pdf
Análisis Estructural - 8va.Ed - R. C. Hibbeler.pdf
KevincithoEduML
 
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptxJuzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
Folke Claudio Tantahuillca Landeo
 
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtualSESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
JuanGavidia2
 

Último (20)

VIRUS DE LA MANCHA ANILLADA DE LA PAPAYA(PRSV).ppt
VIRUS DE LA MANCHA ANILLADA DE LA PAPAYA(PRSV).pptVIRUS DE LA MANCHA ANILLADA DE LA PAPAYA(PRSV).ppt
VIRUS DE LA MANCHA ANILLADA DE LA PAPAYA(PRSV).ppt
 
Fundamentos-Ensayos-Al-Fuego de oro y plata
Fundamentos-Ensayos-Al-Fuego de oro  y plataFundamentos-Ensayos-Al-Fuego de oro  y plata
Fundamentos-Ensayos-Al-Fuego de oro y plata
 
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptxPRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
 
Aletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptxAletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptx
 
GUIA PARA INSPECCION DE PUENTES MTC (1).PDF
GUIA PARA INSPECCION DE PUENTES MTC (1).PDFGUIA PARA INSPECCION DE PUENTES MTC (1).PDF
GUIA PARA INSPECCION DE PUENTES MTC (1).PDF
 
LA SUSPENSIÓN, CÁLCULO DE BALLESTAS.ppt
LA SUSPENSIÓN,  CÁLCULO DE BALLESTAS.pptLA SUSPENSIÓN,  CÁLCULO DE BALLESTAS.ppt
LA SUSPENSIÓN, CÁLCULO DE BALLESTAS.ppt
 
Presentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdfPresentación 01 Curso de Introducción a Python.pdf
Presentación 01 Curso de Introducción a Python.pdf
 
Características de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptxCaracterísticas de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptx
 
Programas relacionado a telecomunicaciones.pptx
Programas relacionado a telecomunicaciones.pptxProgramas relacionado a telecomunicaciones.pptx
Programas relacionado a telecomunicaciones.pptx
 
CURSO COMPLETO FIBRA OPTICA MULTIMODO.pdf
CURSO COMPLETO FIBRA OPTICA MULTIMODO.pdfCURSO COMPLETO FIBRA OPTICA MULTIMODO.pdf
CURSO COMPLETO FIBRA OPTICA MULTIMODO.pdf
 
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdf
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdfCarlos Augusto da Silva Lins todosIngressantes2024-1.pdf
Carlos Augusto da Silva Lins todosIngressantes2024-1.pdf
 
Pasamuros Cortafuego - Industrias Metalfox
Pasamuros Cortafuego - Industrias MetalfoxPasamuros Cortafuego - Industrias Metalfox
Pasamuros Cortafuego - Industrias Metalfox
 
Control Industrial control de procesos .pptx
Control Industrial control de procesos .pptxControl Industrial control de procesos .pptx
Control Industrial control de procesos .pptx
 
ANALISIS ESTRUCTURALES SAP2000 EN SISTEMAS ESTRUCTURALES
ANALISIS ESTRUCTURALES SAP2000 EN SISTEMAS ESTRUCTURALESANALISIS ESTRUCTURALES SAP2000 EN SISTEMAS ESTRUCTURALES
ANALISIS ESTRUCTURALES SAP2000 EN SISTEMAS ESTRUCTURALES
 
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptxCARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
CARRETERAS MÁS IMPORTANTES DEL PERU ALESSANDRA.pptx
 
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptxGravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
 
presentacion de estabilidad y empuje mecanica de fluidos
presentacion de estabilidad y empuje mecanica de fluidospresentacion de estabilidad y empuje mecanica de fluidos
presentacion de estabilidad y empuje mecanica de fluidos
 
Análisis Estructural - 8va.Ed - R. C. Hibbeler.pdf
Análisis Estructural - 8va.Ed - R. C. Hibbeler.pdfAnálisis Estructural - 8va.Ed - R. C. Hibbeler.pdf
Análisis Estructural - 8va.Ed - R. C. Hibbeler.pdf
 
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptxJuzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
 
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtualSESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
 

Diagrama de clases

  • 1. DIAGRAMA  DE  CLASES   Julián  Santoyo   jsdiaz@unab.edu.co   6436111  Ext.  459  
  • 2. DIAGRAMA  DE  CLASES   •  Un  diagrama  de  clases  sirve  para  visualizar  las   relaciones  entre  las  clases  que  involucran  el   sistema,  las  cuales  pueden  ser  asocia6vas,  de   herencia  y  de  agregación.   •  Un  diagrama  de  clases  esta  compuesto  por  los   siguientes  elementos:   – Clase:  atributos,  métodos  y  visibilidad.   – Relaciones:  Herencia,  Composición,  Agregación,   Asociación  y  Uso.  
  • 3. CLASE   Es  la  unidad  básica  que  encapsula  toda  la   información  de  un  Objeto  (un  objeto  es  una   instancia  de  una  clase).  A  través  de  ella  podemos   modelar  el  entorno  en  estudio  (una  Casa,  un   Auto,  una  Cuenta  Corriente,  etc.).  
  • 4. CLASE   En  UML,  una  clase  es  representada  por  un   rectángulo  que  posee  tres  divisiones:  
  • 5. CLASE   •  Superior:  Con6ene  el  nombre  de  la  Clase   •  Intermedio:  Con6ene  los  atributos  (o   variables  de  instancia)  que  caracterizan  a   la  Clase  (pueden  ser  private,  protected  o   public)   •  Inferior:  Con6ene  los  métodos  u   operaciones,  los  cuales  son  la  forma  como   interactúa  el  objeto  con  su  entorno   (dependiendo  de  la  visibilidad:  private,   protected  o  public)  
  • 6. EJEMPLO   Una  Cuenta  Corriente  que  posee  como   caracterís6ca:   •  Saldo   Puede  realizar  las  operaciones  de:   •  Depositar   •  Girar   •  Estado  Actual   www.gliffy.com  
  • 8. ATRIBUTOS  Y  MÉTODOS   Atributos:   •  Los  atributos  o  caracterís6cas  de  una  Clase   pueden  ser  de  tres  6pos,  los  que  definen  el   grado  de  comunicación  y  visibilidad  de  ellos   con  el  entorno,  estos  son:    
  • 9. ATRIBUTOS  Y  MÉTODOS   –  public  (+,            ):  Indica  que  el  atributo  será  visible  tanto   dentro  como  fuera  de  la  clase,  es  decir,  es  accesible   desde  todos  lados.   –  private  (-­‐,            ):  Indica  que  el  atributo  sólo  será   accesible  desde  dentro  de  la  clase  (sólo  sus  métodos   lo  pueden  accesar).   –  protected  (#,            ):  Indica  que  el  atributo  no  será   accesible  desde  fuera  de  la  clase,  pero  si  podrá  ser   accesado  por  métodos  de  la  clase  además  de  las   subclases  que  se  deriven  (ver  herencia).  
  • 10. ATRIBUTOS  Y  MÉTODOS   Métodos:   •  Los  métodos  u  operaciones  de  una  clase  son   la  forma  en  como  ésta  interactúa  con  su   entorno,  éstos  pueden  tener  las   caracterís6cas:    
  • 11. ATRIBUTOS  Y  MÉTODOS   –  public  (+,            ):  Indica  que  el  método  será  visible  tanto   dentro  como  fuera  de  la  clase,  es  decir,  es  accsesible   desde  todos  lados.   –  private  (-­‐,            ):  Indica  que  el  método  sólo  será   accesible  desde  dentro  de  la  clase  (sólo  otros   métodos  de  la  clase  lo  pueden  accesar).   –  protected  (#,            ):  Indica  que  el  método  no  será   accesible  desde  fuera  de  la  clase,  pero  si  podrá  ser   accesado  por  métodos  de  la  clase  además  de  métodos   de  las  subclases  que  se  deriven  (ver  herencia).  
  • 13. RELACIONES  ENTRE  CLASES   •  Ahora  ya  definido  el  concepto  de  Clase,  es   necesario  explicar  como  se  pueden   interrelacionar  dos  o  más  clases  (cada  uno  con   caracterís6cas  y  obje6vos  diferentes).  
  • 14. RELACIONES  ENTRE  CLASES   Antes  es  necesario  explicar  el  concepto  de   cardinalidad  de  relaciones:  En  UML,  la   cardinalidad  de  las  relaciones  indica  el  grado  y   nivel  de  dependencia,  se  anotan  en  cada   extremo  de  la  relación  y  éstas  pueden  ser:   •  uno  o  muchos:  1..*  (1..n)   •  0  o  muchos:  0..*  (0..n)   •  número  fijo:  m  (m  denota  el  número)  
  • 15. Herencia  (Especialización  /   Generalización)   •  Indica  que  una  subclase  hereda  los  métodos  y   atributos  especificados  por  una  Super  Clase,   por  ende  la  Subclase  además  de  poseer  sus   propios  métodos  y  atributos,  poseerá  las   caracterís6cas  y  atributos  visibles  de  la  Super   Clase  (public  y  protected),  ejemplo:  
  • 16. Herencia  (Especialización  /   Generalización)  
  • 17. Herencia  (Especialización  /   Generalización)   •  En  la  figura  se  especifica  que  Auto  y   Camioneta  heredan  de  Vehículo,  es  decir,   Auto  posee  las  Caracterís6cas  de  Vehículo   (dueño,  puertas,  ruedas  etc.)  además  posee   algo  par6cular  que  es  descapotable.   Camioneta  también  hereda  las  caracterís6cas   de  Vehículo  (dueño,  puertas,  ruedas  etc.)  pero   posee  como  par6cularidad  propia  Tara  y   Carga.  
  • 18. Herencia  (Especialización  /   Generalización)   •  Cabe  destacar  que  fuera  de  este  entorno,  lo   único  "visible"  es  el  método  caracterís6cas()   aplicable  a  instancias  de  vehículo,  auto  y   camioneta,  pues  6ene  definición  pública,  en   cambio  atributos  como  descapotable  no  son   visibles  por  ser  privados.  
  • 19. Objetos   •  Un  objeto  es  una  instancia  de  una  clase.   Por  ejemplo  el  taxi  matrícula  BFG-­‐7452  es   una  instancia  de  la  clase  Taxi.  
  • 20. Objetos   Ejercicio   •  Considera  que  queremos  representar  los   aviones  que  operan  en  un  aeropuerto.  Crea   un  esquema  análogo  al  que  hemos  visto   para  vehículos,  pero  en  este  caso  para   aviones.  Define  cuáles  podrían  ser  las   clases  y  cuáles  podrían  ser  algunos  objetos   de  una  clase.  
  • 21. Asociación   •  La  relación  entre  clases  conocida  como   Asociación,  permite  asociar  objetos  que   colaboran  entre  si,  para  alcanzar  una  meta.   Cabe  destacar  que  no  es  una  relación  fuerte,   es  decir,  el  6empo  de  vida  de  un  objeto  no   depende  del  otro.  
  • 23. Asociación   •  Ejemplo:   •  Un  cliente  puede  tener  asociadas  muchas   Ordenes  de  Compra,  en  cambio  una  orden  de   compra  solo  puede  tener  asociado  un  cliente.  
  • 24. Asociación   Ejercicio:   •  Representar  la  relación:     – El  cliente  usa  tarjeta  de  crédito.   – El  ingeniero  usa  una  computadora  
  • 26. Asociación   •  Customer  es  independiente  de  CreditCard,   puesto  que  el  cliente  puede  exis6r  sin   necesidad  de  tener  asignada  una  tarjeta  de   crédito.     •  Se  puede  asignar  o  re6rar  la  tarjeta  de  crédito,   sin  que  la  existencia  del  Cliente  se  vea   afectada  (No  debería  verse  afectada,  esto   significa  que  Customer  no  debe  tener   problemas  si  no  hay  una  CreditCard  presente).  
  • 27. Asociación   •  Podemos  crear  un  objeto  de  6po  Customer  y   asignarle  un  CreditCard  más  tarde  mediante  el   método  setCreditCard.     •  Llamaremos  a  las  clases  Customer  clase   contenedora.  
  • 28. Agregación  y     Composición   •  Para  modelar  objetos  complejos,  bastan  los   6pos  de  datos  básicos  que  proveen  los   lenguajes:  enteros,  reales  y  secuencias  de   caracteres.  Cuando  se  requiere  componer   objetos  que  son  instancias  de  clases  definidas   por  el  desarrollador  de  la  aplicación,  tenemos   dos  posibilidades:  
  • 29. Agregación  y     Composición   •  Por  Valor:  Es  un  6po  de  relación  está6ca,  en   donde  el  6empo  de  vida  del  objeto  incluido   esta  condicionado  por  el  6empo  de  vida  del   que  lo  incluye.  Este  6po  de  relación  es   comúnmente  llamada  Composición  (el  Objeto   base  se  construye  a  par6r  del  objeto  incluido).  
  • 30. Agregación  y     Composición   •  Por  Referencia:  Es  un  6po  de  relación   dinámica,  en  donde  el  6empo  de  vida  del   objeto  incluido  es  independiente  del  que  lo   incluye.  Este  6po  de  relación  es  comúnmente   llamada  Agregación  (el  objeto  base  u6liza  al   incluido  para  su  funcionamiento).  
  • 31. Agregación  y     Composición   •  Ejemplo  1:  
  • 32. Agregación  y     Composición   En  donde  se  destaca  que:   •  Un  Almacén  posee  Clientes  y  Cuentas  (los   rombos  van  en  el  objeto  que  posee  las   referencias).   •  Cuando  se  destruye  el  Objeto  Almacén   también  son  destruidos  los  objetos  Cuenta   asociados,  en  cambio  no  son  afectados  los   objetos  Cliente  asociados.  
  • 33. Agregación  y     Composición   •  La  composición  (por  Valor)  se  destaca  por  un   rombo  relleno.   •  La  agregación  (por  Referencia)  se  destaca  por   un  rombo  transparente.   La  flecha  en  este  6po  de  relación  indica  la   navegabilidad  del  objeto  referenciado.  Cuando   no  existe  este  6po  de  par6cularidad  la  flecha  se   elimina.  
  • 34. Agregación  y     Composición   Ejemplo  2:   •  Tenemos  una  clase  Empresa.   •  Tenemos  una  clase  Cliente.   •  Una  empresa  agrupa  a  varios   clientes.  
  • 35. Agregación  y     Composición   •  Tenemos  una  clase  Empresa.   •  Un  objeto  Empresa  está  a  su  vez   compuesto  por  uno  o  varios  objetos   del  6po  empleado.   •  El  6empo  de  vida  de  los  objetos   Empleado  depende  del  6empo  de   vida  de  Empresa,  ya  que  si  no  existe   una  Empresa  no  pueden  exis6r  sus   empleados.  
  • 36. Agregación  y     Composición   •  Las  relaciones  de  Agregación  y  Composición   son  dos  6pos  de  especialización  de  la  relación   de  Asociación.   •  En  la  Composición  hay  una  "relación  de  vida",   es  decir,  el  6empo  de  vida  de  un  objeto  está   condicionado  por  el  6empo  de  vida  del  objeto   que  lo  incluye.  
  • 37. Agregación   •  La  Clase  A  agrupa  varios  elementos  del  6po   Clase  B.  
  • 38. Agregación   Ejemplo   •  Tenemos  una  clase  Agenda.   •  Tenemos  una  clase  Contacto.   •  Una  Agenda  agrupa  varios  Contactos.  
  • 39. Agregación   Ejemplo   •  Un  objeto  de  6po  Ciudad   6ene  una  lista  de  objetos  de   6po  Aeropuerto,  una  ciudad   6ene  un  número  de   aeropuertos.  La  cardinalidad   del  extremo  que  lleva  el   rombo,  es  siempre  uno.  
  • 40. Composición   •  La  Clase  A  agrupa  varios  elementos  del  6po   Clase  B.   •  El  6empo  de  vida  de  los  objetos  de  6po  Clase   B  está  condicionado  por  el  6empo  de  vida  del   objeto  de  6po  Clase  A.  
  • 41. Composición   Ejemplo   •  Tenemos  una  clase  Silla.   •  Un  objeto  Silla  está  a  su  vez  compuesto  por   cuatro  objetos  del  6po  Pata.   •  El  6empo  de  vida  de  los  objetos  Pata  depende   del  6empo  de  vida  de  Silla,  ya  que  si  no  existe   una  Silla  no  pueden  exis6r  sus  Patas.  
  • 42. Composición   Ejemplo   •  El  avión  6ene  sen6do  por   si  solo,  pero  esta  claro  que   esta  compuesto  de  2  alas,   esta  relación  es  de  mucha   fuerza,  mucho  más  que  el   caso  de  los  aeropuertos.  
  • 43. Composición   Ejercicio:   •  Representar  la  relación:     – El  auto  6ene  llantas.   – El  portá6l  6ene  un  teclado.  
  • 45. Composición   Los  objetos  que  componen  a  la  clase  contenedora,   deben  exis6r  desde  el  principio.  (También  pueden   ser  creados  en  el  constructor,  no  sólo  al  momento   de  declarar  las  variables  como  se  muestra  en  el   ejemplo).   No  hay  momento  (No  debería)  en  que  la  clase   contenedora  pueda  exis6r  sin  alguno  de  sus  objetos   componentes.  Por  lo  que  la  existencia  de  estos   objetos  no  debe  ser  abiertamente  manipulada   desde  el  exterior  de  la  clase.  
  • 46. Diferencias  entre     Composición  y  Agregación   Agregación   Composición   Varias  asociaciones   comparten  los   componentes   Si   No   Destrucción  de  los   componentes  al  destruir  el   compuesto   No     Si   Cardinalidad  a  nivel  de   compuesto   Cualquiera   0..1  ó  1   Representación   Rombo  Transparente   Rombo  Negro  
  • 47. Dependencia  o     Instanciación  (uso)   •  Representa  un  6po  de  relación  muy  par6cular,   en  la  que  una  clase  es  instanciada  (su   instanciación  es  dependiente  de  otro  objeto/ clase).  Se  denota  por  una  flecha  punteada.  
  • 48. Dependencia  o     Instanciación  (uso)   •  El  uso  más  par6cular  de  este  6po  de  relación   es  para  denotar  la  dependencia  que  6ene  una   clase  de  otra,  como  por  ejemplo  una   aplicación  grafica  que  instancia  una  ventana   (la  creación  del  Objeto  Ventana  esta   condicionado  a  la  instanciación  proveniente   desde  el  objeto  Aplicación):  
  • 49. Dependencia  o     Instanciación  (uso)  
  • 50. Dependencia  o     Instanciación  (uso)   •  Cabe  destacar  que  el  objeto  creado  (en  este   caso  la  Ventana  gráfica)  no  se  almacena   dentro  del  objeto  que  lo  crea  (en  este  caso  la   Aplicación).  
  • 51. Composición,  Agregación,     Asociación  
  • 52. Composición,  Agregación,     Asociación  
  • 53. Composición,  Agregación,     Asociación   •  La  clase  comienza  normalmente  con  la   declaración  de  las  variables  de  instancia.   Donde  perfiles  y  lugaresFrecuentes  son  dos   colecciones  (podrían  ser  arrays)  que  se   transformarán  en  contenedores  de   elementos.    
  • 54. Composición,  Agregación,     Asociación   •  Al  ser  propiedades  6enen  geiers  y  seiers   (accessors  y  mutators),  que  nada  6enen  que   ver  con  la  agregación  y  la  composición.  
  • 55. Composición,  Agregación,     Asociación   •  Asociación  
  • 56. Composición,  Agregación,     Asociación   •   La  primera  caracterís6ca  es  que  la  clase   con6ene  dos  métodos  uno  que  agrega   elementos  a  la  colección  y  otro  que  los   elimina  de  ella.  
  • 57. Composición,  Agregación,     Asociación   •  Los  objetos  son  pasados  por  parámetro,  no   han  sido  instanciados  dentro  del  método,  es   decir  no  hemos  realizado  el  new  del  objeto.    
  • 58. Composición,  Agregación,     Asociación   •  Ha  "nacido"  en  cualquier  otra  parte  y  se  lo  hemos   pasado  por  parámetro  al  método  para  ser   agregado  a  la  lista  lugaresFrecuentes.  En  otras   palabras,  el  objeto  Persona  podría  morir  y  el   objeto  Lugar  aún  podría  mantener  una  referencia   ac6va  en  alguna  otra  parte  de  nuestro  código  por   lo  tanto  sus  ciclos  de  vida  no  estarían  atados.  No   nace  ni  muere,  dentro  del  objeto  Persona.  
  • 59. Composición,  Agregación,     Asociación   •  ¿Cual  es  la  diferencia  con  la  composición?  
  • 60. Composición,  Agregación,     Asociación   •  La  composición  también  6ene  los  métodos   para  agregar  y  borrar.  Pero  "el  new  del  objeto   se  realiza  dentro  del  método  agregar”.    
  • 61. Composición,  Agregación,     Asociación   •  La  instanciación  del  objeto  p  se  realiza  dentro  del   método  agregar  y  la  referencia  no  se  devuelve   (es  void  o  boolean).   •  La  variable  de  referencia  local  va  a  dejar  de  exis6r   una  vez  que  el  método  termine  de  ejecutarse,  y   el  ciclo  de  vida  de  esa  instancia  en  par6cular  va  a   quedar  atada  a  la  lista,  y  por  ende  a  la  Persona.    
  • 62. Composición,  Agregación,     Asociación   •  Una  vez  que  el  objeto  Persona  no  se  referencie  más,  (o  sea   muera,  técnicamente  esto  no  es  así)  el  objeto  lista,  quedará   sin  referencia,  y  por  lo  tanto  sus  elementos  también.     •  Se  deberá  crear  primero  una  instancia  de  Persona,  para   después  poder  agregar  un  Perfil.  Empezando  así  a  "atar"  el   ciclo  de  vida  de  un  Perfil,  al  de  una  Persona.  En  cuanto  al   método  remover,  no  existe  nada  de  extraordinario,   simplemente  quitamos  un  elemento  de  la  lista.  
  • 63. Composición,  Agregación,     Asociación   •  La  Clase  Foto  se  deduce  del  diagrama  y  no  6ene  complicaciones,   son  simplemente  3  variables:  
  • 64. DIAGRAMA  DE  CLASES   Julián  Santoyo   jsdiaz@unab.edu.co   6436111  Ext.  459