Bla*_*ext 2 php oop interface class abstract
我正在研究Abstract和Interface之间的区别,我读了一些句子
子类只能扩展单个抽象(或任何其他)类,而接口可以扩展,或者类可以实现多个其他接口.
我明白,当他说,"一个儿童班只能扩展一个抽象(或任何其他)课程,"他的意思是:
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)
但是,我不明白他的句子的其余部分,他说,"虽然接口可以扩展,或者类可以实现多个其他接口."
有人可以解释他的最后一句话并添加一个代码示例吗?谢谢大家,祝你有个愉快的一天.
您可以实现多个接口
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上阅读