实现interface php
在 PHP 中实现接口
PHP 使用 interface 关键字定义接口,接口定义了一组方法的声明,但不包含具体实现。类通过 implements 关键字实现接口,必须提供接口中所有方法的具体实现。
定义接口
接口定义方法的签名,但不包含方法体。所有方法在接口中默认为 public。
interface MyInterface {
public function method1();
public function method2($param);
}
实现接口
类通过 implements 关键字实现接口,必须实现接口中声明的所有方法。

class MyClass implements MyInterface {
public function method1() {
echo "Method 1 implementation";
}
public function method2($param) {
echo "Method 2 implementation with param: " . $param;
}
}
多接口实现
一个类可以实现多个接口,只需在 implements 后列出所有接口名称,用逗号分隔。
interface InterfaceA {
public function methodA();
}
interface InterfaceB {
public function methodB();
}
class MyClass implements InterfaceA, InterfaceB {
public function methodA() {
echo "Method A";
}
public function methodB() {
echo "Method B";
}
}
接口继承
接口可以继承其他接口,使用 extends 关键字。

interface ParentInterface {
public function parentMethod();
}
interface ChildInterface extends ParentInterface {
public function childMethod();
}
class MyClass implements ChildInterface {
public function parentMethod() {
echo "Parent method";
}
public function childMethod() {
echo "Child method";
}
}
类型检查
可以使用 instanceof 检查对象是否实现了某个接口。
$obj = new MyClass();
if ($obj instanceof MyInterface) {
echo "Object implements MyInterface";
}
接口常量
接口可以包含常量,但不能被覆盖。
interface MyInterface {
const MY_CONST = 'value';
}
echo MyInterface::MY_CONST; // 输出: value
抽象类与接口的区别
抽象类可以包含具体方法的实现和属性,而接口只能包含方法声明和常量。一个类可以实现多个接口,但只能继承一个抽象类。






