2015-06-30 5 views
-1

, если у меня есть функция, как, например:Является ли это еще экземпляром интерфейса? PHP

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

И у меня есть следующее наследование:

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

class SomethingElse extends Something { ... } 

будет функция выше работы, если я передать его экземпляр SomethingElse ?? Или мне нужно передать ему непосредственное создание класса, который непосредственно наследуется от интерфейса?

+0

Вы попробовали? – Rob

ответ

2

как код говорит, что это, SomethingElse «расширяет» (специализируется) Что-то, что реализует API, как задан интерфейс. Поэтому SomethingElse также реализует интерфейс. Это волшебство интерфейса :)

0

Он должен работать, наследование в PHP поддерживает дедушку.

Если вы указали правильно, все дети детей должны иметь доступ к общедоступным методам родителей и будут экземплярами любых реализаций на этом пути.

heres полезный ресурс, который может помочь

Смежные вопросы