Toplama ve kompozisyon: bunu yapmak için 2 yol vardır
Bir nesneye bir başvuru geçirdiğinizde toplanmasıdır. Itiraz konteyner yok ise içerdiği nesne değildir
class testB {
private $classA;
public function setClassA ( testA $classA ) {
$this->classA = $classA;
}
public function doStuffWithA() {
$this->classA->doSomething();
}
}
$classA = new testA;
$classB = new testB;
// this is the aggregation
$classB->setClassA( $classA );
$classB->doStuffWithA();
unset($classB); // classA still exists
Bir nesneyi başka bir nesne tarafından sahip olunan zaman bileşimidir. Sahibi tahrip Yani, ikisi de yok edilir.
class testB {
private $classA;
public function __construct() {
$this->classA = new testA;
}
public function doStuffWithA() {
$this->classA->doSomething();
}
}
$classB = new testB; // new testA object is created
$classB->doStuffWithA();
unset($classB); // both are destroyed