我的抽象课中有很奇怪的行为。
这是我的代码:
<?php
class Hello {
public abstract function sayHello();
}
class Hey extends Hello {
public function sayHello(){
return "Hello";
}
}
$greeting = new Hey;
echo $greeting->sayHello();
所以,我期待结果:你好
但我无法理解为什么我会关注 错误 :
致命错误:类Hello包含1个抽象方法,因此必须在第7行的/Applications/MAMP/htdocs/oop/abstract.php中声明为abstract或实现其余方法(Hello :: sayHello)
我错过了什么?
答案 0 :(得分:7)
您缺少将类声明为抽象:
// here, class should be declared as abstract
abstract class Hello {
public abstract function sayHello();
}
class Hey extends Hello {
public function sayHello(){
return "Hello";
}
}
$greeting = new Hey;
echo $greeting->sayHello();
输出:
hello