温馨提示×

PHP中parent关键字的高级用法

PHP
小樊
85
2024-07-31 15:16:11
栏目: 编程语言

在PHP中,parent关键字通常用于调用父类中的方法或属性。但是,还有一些高级用法可以使用parent关键字。

  1. 访问父类的静态属性或方法:
class ParentClass {
    public static $staticProperty = 'I am a static property in parent class';
    
    public static function staticMethod() {
        return 'I am a static method in parent class';
    }
}

class ChildClass extends ParentClass {
    public static function childMethod() {
        // 访问父类的静态属性
        echo parent::$staticProperty;
        
        // 调用父类的静态方法
        echo parent::staticMethod();
    }
}

ChildClass::childMethod();
  1. 调用构造函数:
class ParentClass {
    public function __construct() {
        echo 'Parent constructor called';
    }
}

class ChildClass extends ParentClass {
    public function __construct() {
        parent::__construct();
        echo 'Child constructor called';
    }
}

new ChildClass();

在以上示例中,当创建ChildClass对象时,首先会调用ParentClass的构造函数,然后才会调用ChildClass的构造函数。

  1. 重写父类方法时调用父类方法:
class ParentClass {
    public function method() {
        echo 'Parent method called';
    }
}

class ChildClass extends ParentClass {
    public function method() {
        parent::method();
        echo 'Child method called';
    }
}

$child = new ChildClass();
$child->method();

在以上示例中,ChildClass重写了ParentClass的method方法,并在重写的方法内部调用了父类的method方法,以保留父类方法的功能并添加新的功能。

0