编程

PHP 中的接口 Interface

1614 2021-12-10 17:27:01

面向对象 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.