【发布时间】:2015-07-16 10:26:22
【问题描述】:
我有这个
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 中)
【问题讨论】:
-
因为
public function setObj(A $obj)!==public function setObj(B $obj) -
将
class Child extends Parent { public function setObj(B $obj) { .... } }更改为class Child extends Parent { public function setObj(A $obj) { .... } }
标签: php class object inheritance