这是工作代码,但是我想知道不使用另一个对象(注释$foo)如何使用printItem()对象使用class Foo$bar方法。 oop编程概念的新手,所以这可能是一件很棘手的事情,但实际上无法找到它:(

我使用范围解析运算符来使用printItem()Foo class,现在我的查询是何时可以使用此功能,那么创建对象的用途是什么?何时在适当的编码环境中使用范围解析运算符。

<?php

class Foo
{
    public function printItem($string)
    {
        echo "This is in class Foo ". $string ."<br />";
    }

    public function printPHP()
    {
        echo "PHP is great "."<br />";
    }
}

class Bar extends Foo
{
    public function printItem($string)
    {
        echo "This is in class Bar ". $string ."<br />";
    }
}

//$foo = new Foo;
$bar = new Bar;

$bar->printPHP();
$bar->printItem("Bar class object");
//Foo::printItem("Mental Case");

最佳答案

printItem定义为静态方法,您可以使用Foo::printItem("Mental Case");或在子方法中调用它:

public function printItem($string)
{
    parent::printItem($string);
    echo "This is in class Bar ". $string ."<br />";
}

关于php - 如何在php中调用父类方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12948837/

10-13 07:19