PHP 不能从接口扩展


PHP can't extend from interface?

我在下面的一个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。

实现接口并扩展类:

<?php
interface people
{
    public function take($s);
}
class engineer implements people
{
    public function take($s){
        echo $s;
    }
}
?>
extends用于

扩展另一个类。

对于接口,您需要改用implements

(不过,一个接口可以extend另一个接口)

取决于你想要什么,它可能是:

  • 类扩展类
  • 类实现一个接口
  • 接口扩展接口

您只能扩展一个类/接口并实现多个接口。您可以将接口扩展到另一个接口,例如接口 DieselEngineInterface 扩展 EngineInterface。

还想注意一个注释,既然你可以有类和接口层次结构,你需要知道什么时候使用它们。