如果我有这样的函数:
public function(Some'Namespace'Interface $instanceOfInterface) { ... }
我有以下继承:
class Something implements Some'Namespace'Interface { .... }
class SomethingElse extends Something { ... }
如果我给上面的函数传递一个SomethingElse
的实例,它会起作用吗??或者,我必须向它传递一个直接从接口继承的类的直接实例化吗?
正如代码所说,SomethingElse"扩展"(专门)Something,按照Interface的要求实现API。所以SomethingElse也实现了接口。这就是界面的魔力:)
它应该可以工作,PHP中的继承支持祖父。
这意味着,只要你正确地声明了,孩子的任何孩子都应该可以访问父母的公共方法,并将成为任何实现的实例。
这里有一个有用的资源,可以帮助