He leído algunos mensajes sobre las diferencias entre estas 3 relaciones y creo que entiendo el punto.¿cómo se escriben la asociación, la agregación y la composición?
me pregunto, ¿están todos estos escritos igual al codificar?
pregunta 1: ¿todos los 3 son solo un valor del tipo de objeto en una variable de instancia?
class A {
public $b = ''
public function __construct($object) {
$this->b = $object // <-- could be a association, aggregation or a composition relation?
}
}
pregunta 2: ¿tiene que ser una variable de instancia o puede ser una estática?
class A {
public static $b = '' // <-- nothing changed?
public function __construct($object) {
$this->b = $object
}
}
pregunta 3: ¿hay alguna diferencia en dónde se crea el objeto?
i tienden a pensar que se crea composición objeto dentro del objeto:
class A {
public $b = ''
public function __construct() {
$this->b = new Object // is created inside the object
}
}
y agregación/asociación se hace pasar a través de un constructor o otro método:
class A {
public $b = ''
public function __construct($object) { // passed through a method
$this->b = $object
}
}
pregunta 4: ¿por qué/cuando es importante saber esto ¿Tengo que comentar un objeto dentro de otra relación de qué se trata o lo haces en un diagrama UML?
alguien podría arrojar algo de luz sobre estas preguntas.
gracias!
por lo que el lenguaje en sí no puede interpretar la relación entre 2 objetos. solo se muestra en el diagrama UML para que nosotros, los programadores, comprendamos cuáles son las relaciones entre esos objetos, ¿verdad? porque me preguntaba si existe una forma específica de codificar estas relaciones, pero parece que no es el caso. ¿Debería escribirse esta relación en el código como un comentario o solo en UML? –