我有这个
class A {...}
class B extends A {...}
class Parent {
public function setObj(A $obj) { .... }
}
class Child extends Parent {
public function setObj(B $obj) { .... }
}
点击此消息:
严格警告:Child :: setObj()的声明应与require_once()中的Parent :: setObj(A $ obj)兼容
为什么我会收到此警告?
PHP 5.5.12(在Drupal 7.38中)
答案 0 :(得分:1)
您的代码应该像
class A {...}
class B extends A {...}
class Parent {
public function setObj(A $obj) { .... }
}
class Child extends Parent {
public function setObj(A $obj) { .... }
}
因为您使用具有相同名称但另一个签名的方法覆盖Parent::setObj(A)
。