我刚刚浏览了这个观察者模式 HERE 的代码,我遇到了以下代码行:
abstract class AbstractObserver {
abstract function update(AbstractSubject $subject_in);
}
实际上该片段中的第一个函数,现在我对PHP很新,我知道javascript,但我在PHP中不太好,现在这些参数传递给抽象函数:
AbstractSubject $subject_in
??这是什么 ?
答案 0 :(得分:1)
它是一个键入的单个参数,这意味着该函数只能接收AbstractSubject
的实例作为参数。
请注意,单词不是用逗号分隔,而是用空格分隔,这意味着第一个单词(AbstractSubject
)定义了方法可能接收的参数类型(第二个单词$subject_in
) ,如果您传递的值不是AbstractSubject
的任何其他类型的值,则会引发异常。
因此,给定方法的实现看起来应该是这样的:
class MyObserver extends AbstractObserver
{
public function update(AbstractSubject $subject_in)
{
//Your implementation of the method goes here.
}
}