php 中 instanceof 操作符

"instanceof"操作符的使用非常简单,它用两个参数来完成其功能。
第一个参数是你想要检查的对象,第二个参数是类名(事实上是一个接口名),用于确定是否这个对象是相应类的一个实例。它的基本语法如下:
if (object instanceof class name){//继承关系
//
}

作用:(1)判断一个对象是否是某个类的实例,(2)判断一个对象是否实现了某个接口。

第一种用法:

 1 <?php
 2 class A
 3 {
 4     public function index()
 5     {
 6         //
 7     }
 8 }
 9
10 $obj = new A();
11 if ($obj instanceof A) {
12    echo ‘A‘;
13 } else {
14     echo ‘no A‘;
15 }
16
17 输出结果:A

第二种用法:

 1 <?php
 2 interface ExampleInterface
 3 {
 4      public function interfaceMethod();
 5  }
 6
 7  class ExampleClass implements ExampleInterface
 8 {
 9      public function interfaceMethod()
10      {
11          return ‘Hello World!‘;
12      }
13  }
14
15 $exampleInstance = new ExampleClass();
16
17  if($exampleInstance instanceof ExampleInterface){
18      echo ‘Yes, it is‘;
19  }else{
20      echo ‘No, it is not‘;
21 }
22 ?>
23 输出结果:Yes, it is
24  

原文地址:https://www.cnblogs.com/clubs/p/11443537.html

时间: 2024-08-30 04:46:38

php 中 instanceof 操作符的相关文章

type of 操作符和instanceof操作符的区别以及使用方法

经常见到用typeof和instanceof检测一个变量类型,作为前端小白经常不知道这两者具体的详细用法和区别,今天就整理一下谨记! javaScript中有6中数据类型: 1.Undefinde 2.Null 3.Number 4.String 5.Boolean 6.Object 1.typeof操作符 一个值使用typeof操作符会返回下列字符串: 1.Undefinde 2.Functon 如果值是函数 3.Number 4.String 5.Boolean 6.Object 如果值是对

instanceof 操作符 接口 多态

instanceof 操作符result =  对象名称 instanceof 类型 参数:result:布尔类型. 对象名称:必选项,任意对象表达式. 类型:必选项,任意已定义的类,可以是api中的类,也可以说自定义的类. 说明:如果对象是这个类型的实例,则instanceof运算符返回true.如果对象不是指定类的一个实例,或者对象是null,则返回false Object类Object类是所有类的父类object类的作用object类中的方法 接口 是特殊的抽象类即所有方法都是抽象方法的类

类型③instanceof 操作符

instanceof 操作符用来比较两个操作数的构造函数.只有在比较自定义的对象时才有意义. 如果用来比较内置类型,将会和 typeof 操作符 一样用处不大. 比较自定义对象 function Foo() {} function Bar() {} Bar.prototype = new Foo(); new Bar() instanceof Bar; // true new Bar() instanceof Foo; // true // 如果仅仅设置 Bar.prototype 为函数 Fo

10.4 使用instanceof操作符判断对象类型

1.概述 当在程序中执行向下转型操作时,如果父类对象不是子类对象的实例,就会发生ClassCastException异常,所以在做执行向下转型之前需要养成一个良好的习惯,就是判断父类对象是否为子类对象的实例.这个判断通常使用instanceof操作符来完成. 语法格式:myobject instanceof ExampleClass //myobject:某类的对象引用 ExampleClass:某个类 例子10.7 1 class Quadrangle_B{ 2 //SomeSentence

java中instanceof和getClass()的作用

初学者难免有点混淆java中instanceof和getClass()的作用,  下面就来一一讲解.    父类A: class A { }     子类B: class B extends A { }      构造对象 Object o1 = new A(); Object o2 = new B(); 一.instanceof     演示一: 1.o1 instanceof A => true  2.o1 instanceof B => false  3.o2 instanceof A

Python中的操作符重载

类可以重载python的操作符 操作符重载使我们的对象与内置的一样.__X__的名字的方法是特殊的挂钩(hook),python通过这 种特殊的命名来拦截操作符,以实现重载. python在计算操作符时会自动调用这样的方法,例如: 如果对象继承了__add__方法,当它出现在+表达式中时会调用这个方法.通过重载,用户定义的对 象就像内置的一样. 在类中重载操作符 1.操作符重载使得类能拦截标准的python操作. 2.类可以重载所有的python的表达式操作符. 3.类可以重载对象操作:prin

lua中定义操作符行为的元方法(重载操作符)

在c++中可以重载操作符,在lua中也有,不过lua是通过元方法实现的,异曲同工,都是一样的 比如c++,重载了+之后,具体做什么都是自己实现,lua也一样 定义操作符行为的元方法有: __add 对应的运算符 '+'.  可以定义已定义操作符的表和其他表相加的行为,以及操作的值(返回值)(下同) __sub 对应的运算符 '-'. __mul 对应的运算符 '*'. __div 对应的运算符 '/'. __mod 对应的运算符 '%'. __unm 对应的运算符 '-'. 可以定义已定义操作符

delphi中指针操作符^的使用

To see how pointers work, look at the following example.1    var2      X, Y: Integer;   // X and Y are Integer variables3      P: ^Integer;     // P points to an Integer4    begin5      X := 17;         // assign a value to X6      P := @X;         /

javascript 中 in操作符

in in 操作检查对象中是否有名为 property 的属性.也可以检查对象的原型,以便知道该属性是否为原型链的一部分. 对于一般的对象属性需要用字符串指定属性的名称 ? 1 2 3 var mycar = {make: "Honda", model: "Accord", year: 1998}; "make" in mycar  // returns true "model" in mycar // returns tru