它仍然是接口的一个实例吗?PHP


Is it still an instance of the interface? PHP

如果我有这样的函数:

public function(Some'Namespace'Interface $instanceOfInterface) { ... }

我有以下继承:

class Something implements Some'Namespace'Interface { .... }
class SomethingElse extends Something { ... }

如果我给上面的函数传递一个SomethingElse的实例,它会起作用吗??或者,我必须向它传递一个直接从接口继承的类的直接实例化吗?

正如代码所说,SomethingElse"扩展"(专门)Something,按照Interface的要求实现API。所以SomethingElse也实现了接口。这就是界面的魔力:)

它应该可以工作,PHP中的继承支持祖父。

这意味着,只要你正确地声明了,孩子的任何孩子都应该可以访问父母的公共方法,并将成为任何实现的实例。

这里有一个有用的资源,可以帮助