PHP インターフェイスでオブジェクトの継承を実装する方法
PHPでは、 extendsキーワードを使用して、インターフェイスを継承するオブジェクトクラスを作成できます。次に例を示します。
<?php
// 定义一个对象类
class MyClass {
public $name;
public function __construct($name) {
$this->name = $name;
}
public function sayHello() {
echo "Hello, {$this->name}!";
}
}
// 定义一个接口继承对象类
interface MyInterface extends MyClass {
public function sayGoodbye();
}
// 实现接口
class MyImplementation implements MyInterface {
public function sayGoodbye() {
echo "Goodbye, {$this->name}!";
}
}
// 使用实现了接口的类
$myObj = new MyImplementation('John');
$myObj->sayHello(); // 输出:Hello, John!
$myObj->sayGoodbye(); // 输出:Goodbye, John!
?>
上記の例では、MyClassというオブジェクトクラスを定義し、その中にsayHello()というメソッドを定義しました。次に、MyClassクラスを継承するインターフェースMyInterfaceを定義し、さらにsayGoodbye()というメソッドを追加しました。最後に、MyInterfaceインターフェースを実装するMyImplementationクラスを作成し、そのクラスのオブジェクトをインスタンス化しました。
継承先クラスのメソッドやプロパティを継承クラスで利用できるように、継承先クラスではextendsで親クラスを継承します。そのうえで、継承クラスではインターフェースに定義されたメソッドを実装する必要があります。