Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/04/2012, 10:44
Dany_s
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años, 2 meses
Puntos: 65
Respuesta: Cómo se traducirían estas relaciones a código

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 original
  1. class A {
  2.     private $_b;
  3.    
  4.     public function __construct()
  5.     {
  6.         $this->_b = new B();
  7.     }
  8.    
  9.     public function getB()
  10.     {
  11.         return $this->_b;
  12.     }
  13. }

Agregación
Código PHP:
Ver original
  1. class Factura {
  2.     private $_colItems = array();
  3.    
  4.     public function addItems(Item $item)
  5.     {
  6.         $this->_colItems[] = $item;
  7.     }
  8.    
  9.     public function getItems()
  10.     {
  11.         return $this->_colItems;
  12.     }
  13. }

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?

Última edición por Dany_s; 16/04/2012 a las 10:49