它仍然是界面的实例吗? PHP

时间:2015-06-30 15:21:54

标签: php oop inheritance

如果我有这样的功能:

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

我有以下继承:

class Something implements Some\Namespace\Interface { .... }

class SomethingElse extends Something { ... }

如果我传递SomethingElse的实例,上面的函数会工作吗?或者我是否必须直接实例化直接从接口继承的类?

2 个答案:

答案 0 :(得分:2)

正如代码所说,SomethingElse"延伸" (specializes)实现接口所要求的API的东西。所以SomethingElse也实现了接口。 这是界面的魔力:)。

答案 1 :(得分:0)

它应该工作,PHP中的继承支持grandfathering。

意思只要你已经正确宣布,任何孩子的孩子都应该能够访问父母的公共方法,并且将成为任何实施的实例。

heres可能有用的资源