PHP - 类/对象 get_parent_class() 函数



PHP 类/对象 **get_parent_class()** 函数用于返回特定对象或类的父类名称。它确定类或对象继承的超类,如果不存在父类则返回 false。这对于确定类的继承层次结构非常有用。

语法

以下是 PHP 类/对象 **get_parent_class()** 函数的语法:

string get_parent_class ( object|string $object = ? )

参数

此函数接受 **$object** 参数,它是被测试的对象或类名。

返回值

**get_parent_class()** 函数返回当前脚本中已声明类的名称数组。如果对象没有父类或类不存在,则返回 FALSE。

PHP 版本

**get_parent_class()** 函数首次出现在 PHP 4 的核心代码中,并在 PHP 5、PHP 7 和 PHP 8 中都能轻松使用。

示例 1

此示例显示了一个简单的类继承,其中 Son 类扩展了 Father 类。PHP 类/对象 **get_parent_class()** 函数返回 "Father" 类。

<?php
   // Create parent class
   class Father {}
   
   // Create child class
   class Son extends Father {}
   
   // Create an object
   $child = new Son();
   
   // Get parent class
   echo "Parent class is: ".get_parent_class($child); 
?>

输出

以下是以下代码的结果:

Parent class is: Father

示例 2

让我们看看在没有父类的情况下调用 **get_parent_class()** 函数会发生什么。由于 SimpleClass 没有扩展任何其他类,因此该函数返回 false。

<?php
   // Create a simple class
   class SimpleClass {}

   $simplecls = new SimpleClass();

   //Display the result
   echo get_parent_class($simplecls); 
?> 

输出

这将生成以下输出:

(bool) false

示例 3

此示例显示了如何在使用 **get_parent_class()** 函数时,在多层继承情况下检索父类名称。

<?php
   class GrandparentClass {}
   class ParentClass extends GrandparentClass {}
   class ChildClass extends ParentClass {}
   
   // Initialize an object
   $child = new ChildClass();

   //Display the result
   echo get_parent_class($child); 
?> 

输出

这将创建以下输出:

ParentClass

示例 4

此代码显示了如何使用 get_parent_class() 函数从子类获取并显示父类名称。两个子类继承自单个父类,它们的构造函数显示关于其父类的消息。

<?php
   class Animal {
      function __construct() {
      }
   }
   
   class Dog extends Animal {
      function __construct() {
          echo "I'm " , get_parent_class($this) , "'s best friend \n";
      }
   }
   
   class Cat extends Animal {
      function __construct() {
          echo "I'm " , get_parent_class('Cat') , "'s independent companion \n";
      }
   }
   
   $dog = new Dog();      
   $cat = new Cat();      
?> 

输出

以下是上述代码的输出:

I'm Animal's best friend 
I'm Animal's independent companion 
php_function_reference.htm
广告