i have read some posts about the differences between these 3 relationships and i think i get the point.
i just wonder, are all these written the same when coding?
question 1: all 3 are just a value of the object type in a instance variable?
class A {
public $b = ''
public function __construct($object) {
$this->b = $object // <-- could be a association, aggregation or a composition relation?
}
}
question 2: does it have to be an instance variable or can it be a static one?
class A {
public static $b = '' // <-- nothing changed?
public function __construct($object) {
$this->b = $object
}
}
question 3: is there a difference in where the object is created?
i tend to think that composition object is created inside the object:
class A {
public $b = ''
public function __construct() {
$this->b = new Object // is created inside the object
}
}
and aggregation/association is passed through a constructor or another method:
class A {
public $b = ''
public function __construct($object) { // passed through a method
$this->b = $object
}
}
question 4: why/when is this important to know. do i have to comment an object inside another what relation its about or do you do it in an UML diagram?
could someone shed a light on these questions.
thanks!