インターフェースと抽象メソッド


「6.4.5インターフェース」「6.4.6抽象メソッド」からのメモ。


PHPであるクラスに特定のメソッドを実装されることを強制するにはインターフェースや抽象メソッドを使用します。

  • インターフェース
<?php
interface InterfaceA
{
  function hoge();
}

class ClassA implements InterfaceA
{
  function hoge()
  {
    echo "ClassA::hoge()\n";
  }
}

$hoge = new ClassA;
$hoge->hoge();
?>
ClassA::hoge()
  • 抽象メソッド
    • 抽象メソッドを一つでも持つクラスは抽象クラスとして定義します
<?php
abstract class ClassA
{
  abstract function hoge();
}

class ClassB extends ClassA
{
  function hoge()
  {
    echo "ClassB::hoge()\n";
  }
}

$hoge = new ClassB;
$hoge->hoge();
?>
ClassB::hoge()