首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InstanceOf对象继承

InstanceOf对象继承
EN

Stack Overflow用户
提问于 2022-06-07 10:04:42
回答 1查看 100关注 0票数 0

是否可以确定对象是特定类的,而不是对象是父类还是该类?也就是说,只有当它是特定的类时才返回true,如果它是父类,则返回false。

例如:

代码语言:javascript
复制
class ExampleClass {
    ...
}

class ExampleClassExtension extends ExampleClass {
    ...
}

$a = new ExampleClass();
$b = new ExampleClassExtension();

var_dump($b instanceof ExampleClass) //Returns true as ExampleClassExtension is inherited from ExampleClass although I would like it to return false.

有什么方法可以忽略继承,检查对象是否是特定的类,如果对象是父类或子类,或者只是不是的类,则返回false吗?

EN

回答 1

Stack Overflow用户

发布于 2022-06-07 12:48:38

如果要具体检查类是否等于某个类,则可以使用反射。

代码语言:javascript
复制
<?php

class ExampleClass {
    public const A = 'a';
}

class ExampleClassExtension extends ExampleClass {
    public const B = 'b';
}

$a = new ExampleClass();
$b = new ExampleClassExtension();

$reflectionClass = new ReflectionClass($b);
var_dump($reflectionClass->getName() === ExampleClass::class);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72529347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档