如何初始化课程'基类由构造中的返回值?让我们说我把它作为一个基类:
class Base
{
public function Foo()
{
}
private $_var;
}
我还有一个来自另一个类的静态方法,它返回Base类:
class MyStaticClass
{
public static function Get()
{
return new Base();
}
}
现在我从这里得到基类:
class Derived extends Base
{
public function __construct()
{
// Here, how can I initialize Base class with
// object MyStaticClass returns? Something like
parent = MyStaticClass::Get(); // This doesn't obviously work..
}
}
这有解决方案/解决方法吗?
答案 0 :(得分:0)
虽然这似乎是一种不常见的做法,但你可能意味着:
class Derived extends Base
{
public function __construct()
{
parent::__construct(MyStaticClass::Get());
}
}
答案 1 :(得分:0)
我还没有找到直接做到这一点的方法,但是如果你愿意放弃class
,你可以用javascript风格的OOP来完成。请参阅https://stackoverflow.com/a/10468793/1369091