我有方法Crate(TherapyElement $ te)的抽象类TherapyElement。我还有3个课程(培训,阶段,阶段)扩展了TherapyElement。我想在下一步实现方法“add()”: 训练:
public function add(Stage $stage ) {
...
}
阶段:
public function add(Phase $stage ) {
...
}
阶段:
public function add(Phase $stage ) {
..
}
但我收到错误Stage :: add()的声明必须与TherapyElement :: add(TherapyElement $ TA)兼容。我想如果Training,Stage,Phase扩展了TherapyElement,那么它们就是TherapyElement的实例,可以作为参数使用。
答案 0 :(得分:1)
问题是参数名称必须相同。在基础TherapyElement
类中,您调用了参数$TA
,而在其他类中,您将其称为$stage
。
将它们全部更改为$TA
或$stage
,而不是互换它们。