【问题标题】:How do I add more functionality to child method?如何为子方法添加更多功能?
【发布时间】:2015-05-11 17:38:05
【问题描述】:

parent_says() 方法说了些什么,现在我想为 parent_says() 方法添加更多功能,但要从子类内部。我该怎么做?

    class Parent_class{
    function parent_says(){
        echo "HI. I'm parent!";
    }
}

class Child_class extends Parent_class{
    function parent_says(){
        //I want it to also says "HI. I'm parent!", that's inside parent method.
        echo "I say hello!";
    }
}

$Child_class = new Child_class;
$Child_class->parent_says();

【问题讨论】:

    标签: php class inheritance methods extend


    【解决方案1】:

    使用parent::先调用父类的方法。例如

    class Child_class extends Parent_class{
        function parent_says(){
            parent::parent_says();
            echo "I say hello!";
        }
    }
    

    更多信息请参见here

    【讨论】:

    • 为什么我不能像这样调用父方法:$this->parent_says()?
    • 因为$this 指的是当前对象,并且您已经覆盖了该方法。如果您要重命名您孩子的方法,那么您当然可以这样做。
    猜你喜欢
    • 2019-10-16
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多