如何通过静态子类方法\函数访问静态父类的非静态方法\函数?

当我从子类中静态地调用 myfunc2()时,它只会给出This is Child Class.,而不是用Hello! Manish继承。 当我在儿童课程中提及parent::myFunc();时会遇到致命的错误。

因此,请解释一下,如何通过“其他班级”儿童类访问MyFunc1()函数?

我的代码在这里:

<?php
class MyClass{
    public static $name = 'Manish';
    public function myFunc1(){
        echo "Hello! ".self::$name." \n";
    }
}

class OtherClass extends MyClass
{
    public static $name2 = 'Child Class.';
    public static function myFunc2(){
        echo "This is ".self::$name2." \n";
    }
}

OtherClass::myFunc2();

?>

当我放置parent::myFunc();喜欢

class OtherClass extends MyClass
{
    public static $name2 = 'Child Class.';
    public static function myFunc2(){
        **parent::myFunc();**
        echo "This is ".self::$name2." \n";
    }
}

它给予致命错误:

Fatal error: Uncaught Error: Call to undefined method MyClass::myFunc() in E:\laragon\www\manish\static_class2.php:13 Stack trace: #0 E:\laragon\www\manish\static_class2.php(18): OtherClass::myFunc2() #1 {main} thrown in E:\laragon\www\manish\static_class2.php on line 13

0 个回答

  • 3 浏览
  • manish kumawat 提出于 2024-03-02 08:58:15

相似问题