如何检查对象实例是从抽象类在PHP

如何检查对象实例是从抽象类在PHP

问题描述:

继承下面我有抽象类如何检查对象实例是从抽象类在PHP

abstract class AbstractPerson{ 
    ...... 
} 

我继承AbstractPerson到账户

class Account extends AbstractPerson{ 
    ...... 
} 

现在我做

类对象
$account= new Account() 

我想知道如何检查$account对象是从AbstractPerso扩展而来n班?

那么,你需要Reflection,和两个方法getParentClass()& isAbstract()。

下面是您需要的一个工作示例。

$accountReflection  = new ReflectionClass('Account'); 
$parentReflection  = new ReflectionClass($accountReflection->getParentClass()->getName()); 
$isAbstract   = $parentReflection->isAbstract(); // return true of false 
+0

什么是$ testClass? –

+0

我修复它,检查它。 – Martin

+0

$ accountReflection :: getParentClass();这个语法是错误的获取错误 –

用途:

if ($account instanceof AbstractPerson) { 
    echo 'AbstractPerson'; 
}