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

  • 相关阅读:
    TCP/IP Checksum 吐槽
    RHEL安装时加载第三方raid驱动
    RHEL Channel Bonding
    关于case语句中声明变量并初始化的注意事项
    Allocators与Criterion的相同点及区别
    BitSet构造函数的两种特例
    Bitset<>用于unordered container时的默认hash函数
    C++ Stream
    C++Exception知识整理
    C++String知识整理
  • 原文地址:https://www.cnblogs.com/furuihua/p/12149428.html
Copyright © 2011-2022 走看看