了解传递给抽象函数的参数

时间:2015-10-14 19:23:59

标签: php

我刚刚浏览了这个观察者模式 HERE 的代码,我遇到了以下代码行:

abstract class AbstractObserver {
    abstract function update(AbstractSubject $subject_in);
}

实际上该片段中的第一个函数,现在我对PHP很新,我知道javascript,但我在PHP中不太好,现在这些参数传递给抽象函数:

AbstractSubject $subject_in 

??这是什么 ?

1 个答案:

答案 0 :(得分:1)

它是一个键入的单个参数,这意味着该函数只能接收AbstractSubject的实例作为参数。

请注意,单词不是用逗号分隔,而是用空格分隔,这意味着第一个单词(AbstractSubject)定义了方法可能接收的参数类型(第二个单词$subject_in) ,如果您传递的值不是AbstractSubject的任何其他类型的值,则会引发异常。

因此,给定方法的实现看起来应该是这样的:

class MyObserver extends AbstractObserver
{
    public function update(AbstractSubject $subject_in)
    {
        //Your implementation of the method goes here.
    }

}