【发布时间】:2018-07-17 12:26:38
【问题描述】:
我看过PHP代码的如下sn-p,声明了一些接口、抽象类和具体类:
public interface MyInterface
{
public function method1() : MyAbstractClass;
}
abstract class MyAbstractClass implements MyInterface
{
protected $myVar = 1;
}
public class MyClass1 extends MyAbstractClass
{
function method1(): MyAbstractClass
{
return new MyClass1();
}
}
public class MyClass2 extends MyAbstractClass
{
function method1(): MyAbstractClass
{
return new MyClass2();
}
}
一些评论者认为存在循环依赖,因此method1 应该返回MyInterface 而不是MyAbstractClass。
会这样吗?
【问题讨论】: