固有の PHP5 抽象クラスのみんなのコードは次のとおりです:
<ol class="dp-xml"> <li class="alt"><span><span>abstract class AbstractClass { </span></span></li> <li class=""><span> abstract public function test(); </span></li> <li class="alt"><span>} </span></li> <li class=""><span> </span></li> <li class="alt"><span>class ImplementedClass extends AbstractClass { </span></li> <li class=""><span> public function test() { </span></li> <li class="alt"><span> echo "ImplementedClass::test() called. "; </span></li> <li class=""><span> } </span></li> <li class="alt"><span>} </span></li> <li class=""><span> </span></li> <li class="alt"> <span>$</span><span class="attribute"><font color="#ff0000">o</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">new</font></span><span> ImplementedClass; </span> </li> <li class=""> <span>$o-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>test(); </span> </li> </ol>
PHP 5 はインターフェースの概念もサポートし、インターフェースを導入し、キーワードを実装します。 Java と同様、PHP 5 はインターフェイスを使用して「多重継承」と同様の効果を実現します。 PHP5 インターフェースの構文は次のとおりです:
<ol class="dp-xml"> <li class="alt"><span><span>interface displayable { </span></span></li> <li class=""><span> function display(); </span></li> <li class="alt"><span>} </span></li> <li class=""><span>interface printable { </span></li> <li class="alt"><span> function doprint(); </span></li> <li class=""><span>} </span></li> <li class="alt"><span> </span></li> <li class=""><span>class foo implements displayable,printable { </span></li> <li class="alt"><span> function display() { </span></li> <li class=""><span> // code </span></li> <li class="alt"><span> } function doprint() { </span></li> <li class=""><span> // code </span></li> <li class="alt"><span> } </span></li> <li class=""><span>} </span></li> </ol>
抽象クラスと PHP5 インターフェースの導入により、PHP は完全なオブジェクト指向言語になります