0
我有一个外部类有另一个类作为成员(遵循继承的原则组成)。现在我需要从内部类中调用外部类的方法。课程组成 - 从内部类呼叫外部方法
class Outer
{
var $inner;
__construct(Inner $inner) {
$this->inner = $inner;
}
function outerMethod();
}
class Inner
{
function innerMethod(){
// here I need to call outerMethod()
}
}
我看到作为解决在外层中添加参考:: __构建体:
$this->inner->outer = $this;
这允许我打电话内蒙古这样外方法:: innerMethod:
$this->outer->outerMethod();
这是一个很好的解决方案还是有更好的选择?
是否有内部类调用外部的特定原因?为什么不像内部调用外部方法作为参数,以免创建循环依赖关系? – 2014-12-02 12:39:58
原因是:内部类是外部的专业化。有几个可能的类实现InnerInterface。外部类包含不变的方法,内部类包含特定于特定的方法。 – 2014-12-02 12:50:48