我在下面的一个php文件中写道。
<?php
interface people
{
public function take($s);
}
class engineer extends people
{
public function take($s){
echo $s;
}
}
?>
人是界面,工程师是人。 但是,当我运行此代码时,错误:
Fatal error: Class engineer cannot extend from interface people in E:\php5\Mywwwroot\b.php on line 12
发生了什么事?我的PHP版本是5.4。
答案 0 :(得分:34)
您实现接口和扩展类:
<?php
interface people
{
public function take($s);
}
class engineer implements people
{
public function take($s){
echo $s;
}
}
?>
答案 1 :(得分:18)
extends
用于扩展另一个类。
对于接口,您需要改为使用implements
。
(接口可以extend
另一个接口,但是)
答案 2 :(得分:2)
取决于你想要的,它可能是:
您只能扩展一个类/接口并实现许多接口。您可以将接口扩展到另一个接口,例如interface DieselEngineInterface扩展了EngineInterface。
还要注意一个注释,既然你可以拥有类和接口层次结构,你需要知道何时使用它们。