我刚刚写了这样的代码:
当我运行这段代码时,我收到了以下错误:
致命错误:类test包含2个抽象方法,因此必须在C:\wamp64\www\study\abstract.php的第12行中声明为抽象或实现剩余方法(test::getValue, test::prefixValue)。
我理解了错误信息的前半部分。我将类test更改为抽象类,错误就消失了,但我不理解“或”部分的含义。
这个标签是HTML标签。
<?php
class test
{
// Force Extending class to define this method
abstract protected function getValue();
abstract protected function prefixValue($prefix);
// Common method
public function printOut() {
print $this->getValue() . "\n";
}
}
class testabs extends test{
public function getValue()
{
}
public function prefixValue($f)
{
}
}
$obj = new testabs();
?>
当我运行这段代码时,我收到了以下错误:
致命错误:类test包含2个抽象方法,因此必须在C:\wamp64\www\study\abstract.php的第12行中声明为抽象或实现剩余方法(test::getValue, test::prefixValue)。
我理解了错误信息的前半部分。我将类test更改为抽象类,错误就消失了,但我不理解“或”部分的含义。
test
类的角度来看的。它是双向的;要么将您的test
类设为抽象类,要么将扩展test
的任何其他类设为抽象类,因为它们没有实现任何继承的抽象声明。 - dbf