PHP,OOP,不同的配方

Bla*_*ext 2 php oop interface class abstract

我正在研究AbstractInterface之间的区别,我读了一些句子

子类只能扩展单个抽象(或任何其他)类,而接口可以扩展,或者类可以实现多个其他接口.

我明白,当他说,"一个儿童班只能扩展一个抽象(或任何其他)课程,"他的意思是:

class first
{
    public function Search()
    {
        return 'Hellow';
    }
}

abstract class first2 extends first
{

}

class second extends first2
{   

}

$ob = new second();
echo $ob->Search();
Run Code Online (Sandbox Code Playgroud)

但是,我不明白他的句子的其余部分,他说,"虽然接口可以扩展,或者类可以实现多个其他接口."

有人可以解释他的最后一句话并添加一个代码示例吗?谢谢大家,祝你有个愉快的一天.

Aur*_*kus 5

您可以实现多个接口

interface C {
  public function method1();
}

interface D {
  public function method2();
}

class A implements C,D {

   //implement from interface C
   public function method1() {

   }
   //implement from interface D
   public function method2() {

   }
}
Run Code Online (Sandbox Code Playgroud)

在这里,您将需要来自接口C和D的实现方法.您还可以在接口内扩展接口,例如普通类.

interface D extends C{}
Run Code Online (Sandbox Code Playgroud)

当你需要一些常用方法时它很有用.所以你在接口中写入"schema",你希望从基类中实现什么方法.

虽然abstract是单个扩展类,但您可以为它创建实例,只进行扩展.当你想要一些具有通用功能的基类或后面应该实现的抽象方法时,它很有用.

更多你总是可以在php.net - interfaces上阅读