PHP 中的接口 Interface
面向对象 OOP 中的接口 interface
- 接口是一个只包含抽象方法的类
- 通过使用接口, 我们可以为那些要扩展实现接口的类该实现那些方法
- 不像抽象类,你不要在类方法上声明 abstract, 因为接口只有抽象方法
- 使用 interface 关键字声明一个接口,示例:
<?php
interface InterfaceName {
public function someMethod1();
public function someMethod2($name, $color);
public function someMethod3() : string;
}
虽然抽象类和接口看起来挺像的,但他们其实逻辑上是不同的
PHP 中接口和抽象类的区别
接口 | 抽象类 |
不可有属性 | 可以包含属性 |
所有方法都是抽象的,无需 abstract 关键字 | 可以包含非抽象方法。 抽象方法需要带上 abstract 关键字声明 |
子类可以在实现接口的同时继承其他的类 | 继承自其他类的子类,不能继承或者实现抽象类 |
所有的方法必须是 public | 方法可以是 public 或者 protected. |