PHP的类和方法

1. 课堂是什么?

可能有人会认为:“明明我都懂!”可是,一旦要解释,却无法给出好的回答。这就是一个物体的堆积(杂)。事实上,用一句话无法解释清楚,所以我们来具体描述吧。

2. 公共的

以下是基本类的定义。

<?php

class classTest
{
    public function publicMethod(){
        return 'Publicメッセージ';
    }

    private function privateMethod(){
        return 'Privateメッセージ';
    }

    protected function protectedMethod(){
        return 'Protectedメッセージ';
    }

}

?>
<?php

require_once(__DIR__ . '/classTest.php');

$app = new classTest();
echo $app->publicMethod();

?>

公共的:可以从任何地方访问。
私有的:只能从同一类内部访问。
受保护的:可以从类本身和继承的类访问。

如果执行test_sample.php,应该会输出”Public消息”。

私人的 de)

那么在私人领域呢?

<?php

require_once(__DIR__ . '/classTest.php');

$app = new classTest();
echo $app->privateMethod();

?>

出现以下错误。

致命错误:调用私有方法〜

如果你添加了以下的方法,应该能够成功。

public function method(){
        $message = $this->privateMethod();
        return $message;
}
<?php

require_once(__DIR__ . '/classTest.php');

$app = new classTest();
echo $app->method();

?>

这样应该会输出“私人消息”。

4. 保护的

下面是关于受保护的话题。
它与上述的私有相同行为。
我们将讨论额外的话题。

让我们尝试从继承类中进行访问。
继承是指子类能够使用父类的处理方式。

现在,让我们创建一个子类并继承父类。

我会添加以下内容。

class childClass extends classTest
{
    public function publicMethod(){
        return '新Publicメッセージ';
    }

    public function method(){
        $message = $this->publicMethod();
        return $message;
    }
}
<?php

require_once(__DIR__ . '/classTest.php');

$app = new childClass();
echo $app->method();

?>

如果在childClass和classTest中存在相同的方法,那么childClass的方法会被覆盖。
这个过程被称为方法重写。
在这种情况下,将输出”新Public消息”。

那么,我们回到刚才的话题。
从子类中调用一个受保护的方法。

class childClass extends classTest
{

    public function method(){
        $message = $this->protectedMethod();
        return $message;
    }
}

这样一来,应该会输出”Protected消息”。

广告
将在 10 秒后关闭
bannerAds