Você está na página 1de 5

Relaciones entre Clases

Indicaciones
 Investiga de manera individual los conceptos y notación sobre Tipos de relaciones entre clases y el concepto
de multiplicidad entre clases.

1. Tabla para relaciones entre clases:

Asociación
Es una relación estructural que describe una conexión entre objetos. Suelen ser
bidireccionales pero es importante a veces hacerlas unidireccionales para restringir su
navegación en un solo sentido

Notación en UML

Se representa con una flecha continua que parte desde una clase y apunta a otra. El sentido de la flecha nos indica la clase que
se compone (base de la flecha) y sus componentes (punta de la flecha).

Ejemplo usando UML

Implementación en código en algún lenguaje de POO (porción de código).

1 /* Clase Chofer */
2 class Chofer {
3 private String nombre;
4
5 public Chofer(String nombre) {
6 this.nombre = nombre;
7 }
8
9 public String getNombre() {
10 return this.nombre;
11 }
12 }
Taxi.java
?
1
2 /* Clase Taxi */
3 class Taxi {
4 private Chofer chofer;
5 private String matricula;
6
public Taxi(Chofer chofer, String matricula) {
7 this.chofer = chofer;
8 this.matricula = matricula;
9 }
10
11 public void printMatricula() {
12 System.out.println(this.matricula);
}
13
14 public void printChofer() {
15 String nombreChofer = this.chofer.getNombre();
16 System.out.println(nombreChofer);
17 }
}
18
19

Dependencia
Relación más débil que una asociación que muestra la relación entre un cliente y el proveedor de
un servicio usado por el cliente. Cliente es el objeto que solicita un servicio y servidor es el objeto
que provee un servicio. Gráficamente la dependencia se muestra como una línea discontinua con
una punta de flecha que apunta del cliente al proveedor.

Notación en UML

Se representa con una flecha discontinua que parte desde una clase y apunta a otra. El sentido de la flecha nos indica quien
usa a quien.

Ejemplo usando UML


Implementación en código en algún lenguaje de POO (porción de código).

1 /* Clase Documento */
2 class Documento {
3 private String texto;
4
5 public Documento(String texto) {
6 this.texto = texto;
7 }
8
9 public String getTexto() {
10 return this.texto;
11 }
12 }
1 /* Clase Impresora */
2 class Impresora {
3
4 public Impresora() {
5
6 }
7
8 public void imprimir(Documento documento) {
9 String texto = documento.getTexto();
10 System.out.println(texto);
11 }
12
}
13

Agregación y composición
Son casos particulares de asociación cuya relación esta entre un todo y sus partes, gráficamente es
como una asociación con un rombo en los extremos.

Notación en UML agregación y Composición

Se representa con una flecha que parte de una clase a otra en cuya base hay un rombo de color blanco.
Se representa con una flecha que parte de una clase a otra en cuya base hay un rombo de color negro.

Ejemplo usando UML

Implementación en código en algún lenguaje de POO (porción de código).

<?php
/* Clase Contacto */
Class Contacto
{
private $_nombre;
private $_telefono;

public function __construct($nombre, $telefono) {


$this->_nombre = $nombre;
$this->_telefono = $telefono;
}
}
?>
<?php
/* Incluimos la clase Contacto */
require_once 'Contacto.php';

/* Clase Agenda */
class Agenda
{
private $_contactos = array();

public function __construct() {

public function addContacto(Contacto $contacto)


{
$this->_contactos[] = $contacto;
}
}
?>
https://www.didierperez.com/2012/02/diagrama-de-clases-uml-dependencia/

https://ingenieriaensoftwarenathalyalava.wordpress.com/2015/07/01/148/

https://elvex.ugr.es/decsai/java/pdf/3C-Relaciones.pdf

nordVPN

PASTEBIN:FACEBOOK PASWORD:COMBOLIST EMAIL

https://haveibeenpwned.com/

Você também pode gostar