php面向对象之instanceof关键字的用法

instanceof是php5中新增的关键字,它的作用有2个:

(1)判断一个对象是否是某个类的实例,

(2)判断一个对象是否实现了某个接口。

一般格式为:ObjectName instanceof ClassName

(1)判断一个对象是否是某个类的实例

下面针对第一种用法我们来看个实例:[大理石构件]大理石构件怎么加工?

首先创建一个父类,再创建一个子类去继承父类。实例化子类对象,然后去判断对象是不是属于子类,再判断是不是属于父类。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?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的第一种用法实例,下面我们写个有关第二种用法的实例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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,定义方法,再创建个子类接口,定义方法。接着实例化接口,然后判断,其实和第一种用法差不多,只是关键字变化一下,别的都一样。

原文地址:https://www.cnblogs.com/furuihua/p/12149428.html