手册目录

PHP课程

浏览10489
更新时间2025-08-06

PHP - 接口是什么?

接口允许您指定类应该实现哪些方法。

接口使得以相同的方式使用各种不同的类变得容易。当一个或多个类使用相同的接口时,这被称为“多态”。

接口使用 interface 关键字声明:

语法

<?php
interface InterfaceName {
  public function someMethod1();
  public function someMethod2($name, $color);
  public function someMethod3() : string;
}
?>

PHP - 接口与抽象类

接口类似于抽象类。接口和抽象类之间的区别如下:

  • 接口不能有属性,而抽象类可以
  • 接口的所有方法都必须是公开的,而抽象类的方法是公开或受保护的
  • 接口中的所有方法都是抽象的,因此它们不能在代码中实现,并且不需要 abstract 关键字
  • 类可以在实现接口的同时从另一个类继承

PHP - 使用接口

要实现接口,类必须使用 implements 关键字。

实现接口的类必须实现接口的所有方法。

实例

<?php
interface Animal {
  public function makeSound();
}

class Cat implements Animal {
  public function makeSound() {
    echo "Meow";
  }
}

$animal = new Cat();
$animal->makeSound();
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

从上面的例子中,假设我们想编写一个管理一组动物的软件。所有动物都可以执行某些操作,但每种动物都以自己的方式执行这些操作。

使用接口,我们可以编写一些代码,这些代码可以为所有动物工作,即使每种动物的行为都不同:

实例

<?php
// 接口定义
interface Animal {
  public function makeSound();
}

// 类定义
class Cat implements Animal {
  public function makeSound() {
    echo " Meow ";
  }
}

class Dog implements Animal {
  public function makeSound() {
    echo " Bark ";
  }
}

class Mouse implements Animal {
  public function makeSound() {
    echo " Squeak ";
  }
}

// 创建一个动物列表
$cat = new Cat();
$dog = new Dog();
$mouse = new Mouse();
$animals = array($cat, $dog, $mouse);

// 让动物们发出声音
foreach($animals as $animal) {
  $animal->makeSound();
}
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

例子解释

CatDogMouse 都是实现 Animal 接口的类,这意味着它们都可以使用 makeSound() 方法来发出声音。因此,我们可以遍历所有动物并让它们发出声音,即使我们不知道每种动物的类型。

由于接口没有告诉类如何实现该方法,因此每种动物都可以以自己的方式发出声音。

相关视频

更多

免费

php8,我来也
初级php8,我来也

321756次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

382414次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

282717次学习

收藏

免费

简单聊聊PHP创业那点事
初级简单聊聊PHP创业那点事

13413次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时 | 62.5万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时 | 39.7万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时 | 73.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号