【问题标题】:PHP: How can I call child methods from the base class?PHP:如何从基类调用子方法?
【发布时间】:2019-05-06 11:10:46
【问题描述】:

根据我的理解,最好不要给一个类太多的责任,最好将其拆分为子类,我是编程新手,所以我的想法是做以下事情:

<?php

class ChildClass extends ParentClass
{

    public static function child()
    {

        echo "Child";   

    }

}

class ParentClass
{


    public static function parentF()
    {

        echo "Parent";  

    }


}

ParentClass::child();

但是,这会失败,因为父级无权访问子级函数。根据我的描述,我应该怎么做?我的目标是学习如何将一个大类拆分为多个类,以便于维护。

【问题讨论】:

  • 你可以使用反射,但这不是 OOP 方式。
  • 那我该怎么做呢?
  • 最后你想达到什么目标?
  • 相对而言,它为什么会失败。像这样思考这个问题。 Apollo 13 扩展了基类 TransportationUnit,Mazda 626 也是如此。现在你想调用一个静态方法TransportationUnit::go()。它应该叫什么 - Apollo 13::ignite_rocket_fuel() 或 Mazda 626::start_a_starter() ?

标签: php static-methods


【解决方案1】:

类只能像您总结的那样访问其父级,而不是相反。扩展使父函数在子函数中可用。

所以可能的情况是:

ChildClass::parentF(); 

【讨论】:

  • 有没有更好的方法将功能从基类/父类拆分为其他类?
猜你喜欢
  • 2011-01-05
  • 2016-10-05
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
  • 2013-10-12
  • 2011-01-22
  • 2018-10-15
相关资源
最近更新 更多