我试图设计一些需要使用外部对象的类。外部对象来自第三方库。 实施例中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虽然 –