首頁  >  文章  >  後端開發  >  php物件導向之instanceof關鍵字的用法

php物件導向之instanceof關鍵字的用法

巴扎黑
巴扎黑原創
2017-04-17 16:48:222854瀏覽

instanceof是php5新增的關鍵字,它的作用有2個:(1)判斷一個物件是否是某個類別的實例,(2)判斷一個物件是否實作了某個介面。

一般格式為:ObjectName instanceof ClassName

(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 &#39;$phpbook属于phpBook类<br/>&#39;;
}
if($phpbook instanceof Itbook){
echo &#39;$phpbook属于Itbook类&#39;;
}

(2)判斷一個物件是否實作了某個介面

上面是關於instanceof的第一個用法實例,下面我們寫個關於第二種用法的實例:

interface ExampleInterface
{
public function interfaceMethod();
}
class ExampleClass implements ExampleInterface
{
public function interfaceMethod()
{
return &#39;php中文网&#39;;
}
}
$exampleInstance = new ExampleClass();
if($exampleInstance instanceof ExampleInterface){
echo &#39;我在php中文网&#39;;
}else{
echo &#39;你也一起来吧&#39;;
}

程式碼解讀:

先建立一個介面類別ExampleInterface,定義方法,再建立個子類別接口,定義方法。接著實例化接口,然後判斷,其實和第一種用法差不多,只是關鍵字變化一下,別的都一樣。

以上是php物件導向之instanceof關鍵字的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn