instanceof は php5 の新しいキーワードで、(1) オブジェクトが特定のクラスのインスタンスであるかどうかを判断する、(2) オブジェクトが特定のインターフェイスを実装しているかどうかを判断します。
一般的な形式は次のとおりです: ObjectNameinstanceofClassName
(1) オブジェクトが特定のクラスのインスタンスであるかどうかを判断します
最初の使用例を見てみましょう:
まず親クラスを作成し、次に、親クラスから継承するサブクラスを作成します。サブクラス オブジェクトをインスタンス化し、そのオブジェクトがサブクラスに属しているかどうかを判断し、さらに親クラスに属しているかどうかを判断します。
<?php header("content-type:text/html;charset=utf-8"); class Itbook{ } class phpBook extends Itbook{ private $bookname; } $phpbook = new phpBook(); if($phpbook instanceof phpBook){ echo '$phpbook属于phpBook类<br/>'; } if($phpbook instanceof Itbook){ echo '$phpbook属于Itbook类'; }
(2) オブジェクトが特定のインターフェイスを実装しているかどうかを判断します
上記は、instanceof の最初の使用例です。以下に 2 番目の使用例を書きます:
interface ExampleInterface { public function interfaceMethod(); } class ExampleClass implements ExampleInterface { public function interfaceMethod() { return 'php中文网'; } } $exampleInstance = new ExampleClass(); if($exampleInstance instanceof ExampleInterface){ echo '我在php中文网'; }else{ echo '你也一起来吧'; }
コード解釈:
最初に作成します。インターフェイス クラス ExampleInterface を作成してメソッドを定義し、次にサブクラス インターフェイスを作成してメソッドを定義します。次にインターフェースをインスタンス化し、実際に最初の使用法と似ていますが、キーワードが変更されており、その他はすべて同じです。
以上がPHPオブジェクト指向でのinstanceofキーワードの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。