Skip to content
Menu
プログラミング教室 M&Co.
  • はじめに
  • 当スクールの料金
プログラミング教室 M&Co.
2025年1月5日2025年1月16日

インターフェース

目次

  1. PHPのインターフェース(Interface)の基礎
  2. 例題
  3. 別の実装例
  4. メインの処理
  5. インターフェースの利点

PHPのインターフェース(Interface)の基礎

PHPにはインターフェース(interface)という仕組みがあります。
この仕組みは少々分かりにくいですが、簡潔に説明すると、インターフェースはクラスに実装を義務付けるメソッドを定義するものです。インターフェースを実装するクラスは、そのメソッドを必ず実装しなければなりません。


例題

次の例は、自分を表現するクラスを定義し、Personインターフェースを実装する例です。

interface Person {
  public function eat();
}

class MySelf implements Person {
  public function eat() {
    echo "焼き鳥を食べます";
  }
}

この場合、MySelfクラスではeatメソッドを「焼き鳥を食べます」と出力するように実装しました。他の人がPersonインターフェースを実装する場合も、異なるeatメソッドを実装する必要があります。


別の実装例

他の人がPersonインターフェースを実装して、サラダを食べるクラスを作成した場合の例です。

class YourSelf implements Person {
  public function eat() {
    echo "サラダを食べます";
  }
}

メインの処理

MainクラスのrunメソッドでPersonオブジェクトを引数にして実行する例を示します。

class Main {
  public function run(Person $person) {
    $person->eat();
  }
}

// MySelfのインスタンス化
$myself = new MySelf();

// YourSelfのインスタンス化
$yourself = new YourSelf();

$main = new Main();

// MySelfを実行する
$main->run($myself);

// YourSelfを実行する
$main->run($yourself);

このように、runメソッドはPersonインターフェースを実装したオブジェクトを引数に取ります。MySelfクラスとYourSelfクラスは異なるクラスですが、両方ともPersonインターフェースを実装しているため、runメソッドに渡してもエラーにはなりません。


インターフェースの利点

インターフェースを使用することで、特定のメソッドの存在が保証されるため、他のクラスやメソッドに渡す際のエラーを防ぐことができます。

設計が上手なプログラマーは、インターフェースを使って見通しの良いプログラムを作成します。良いプログラマーを目指すには、まず基本をしっかりと学ぶことが重要です。

©2025 プログラミング教室 M&Co.