Cita: Es una relación de uso donde A usa a B, y en código sería que se pasa como parámetro en un método un objeto de B , en un método se instancia B.
Podés recibir por parámetro un objeto o instanciar en un método.
Dependencia
Código PHP:
class A
{
public function metodo()
{
$b = new B();
$b->algo();
}
}
class A
{
public function metodo(B $objetoB)
{
$objetoB->algo();
}
}
Asociación
Código PHP:
Ver originalclass A {
private $_b;
public function __construct()
{
$this->_b = new B();
}
public function getB()
{
return $this->_b;
}
}
Agregación
Código PHP:
Ver originalclass Factura {
private $_colItems = array();
public function addItems(Item $item)
{
$this->_colItems[] = $item;
}
public function getItems()
{
return $this->_colItems;
}
}
Cita: el problema es que no viene como se traduciría a código y los propios diagramas vienen incompletos y no salen ni atributos ni métodos para verlo
Pasa que no agregan porque no tiene importancia o no aporta nada, por ejemplo en la agregacion de Item a Factua, se supone que en la clase Factura debe tener un método para para agregar items y por lo general es un addItems(Item $item), si tiene importancia si lo van a agregar
Sobre la cardinalidad de asociacion y agregación preguntale a tu profesor las diferencias, cuando usar, porqué etc. porque es medio confusa, al menos para mi.
Por otro lado: ¿Dónde haces el curso de Java?