我試圖設計一些需要使用外部對象的類。外部對象來自第三方庫。 實施例中psudocodeOOP,依賴注入和構造函數
Class A {
protected $foo
public function __construct(\ThirdParty\Foo $foo) {
$this->foo = $foo
}
}
這些子類被創建用於保存具有取決於foo是如何實例略微不同的實現方法。
Class AA extends A {
$fooInfo = 'red'
public function __construct($foo) {
parent::__construct($foo)
}
public function get() {
return $this->foo->getTypeX();
}
}
Class AB extends A {
$fooInfo = 'white'
pubic function __construct($foo) {
parent::__construct($foo)
}
public function get() {
return $this->foo->getTypeY();
}
}
但使用第三方應用程序,我需要在$ fooInfo值當我實例化。
$ clientRed =新的Foo( '紅') $ clientWhite =新的Foo( '白')
所以,當我實例AA或AB我怎樣使色彩信息Foo對象?
$client = new AA(new Foo(????))
出於某種原因廣東話編輯標籤,可能要提到這是PHP雖然 –