<?php class A { private $_b; public function __construct($b) { $this->_b = $b; } public function sayHello() { echo 'I am A'; $this->_b->sayHello(); } } class B { private $_c; public function __construct($c) { $this->_c = $c; } public function sayHello() { echo 'I am B'; $this->_c->sayHello(); } } class C { public function sayHello() { echo 'I am C'; } } $a = new A(new B(new C())); $a->sayHello();
运行结果:
I am C I am B I am A