私人变量没有按预期工作?

时间:2017-05-15 01:05:24

标签: php oop

在我被遗忘之前,让我说我是一名经验丰富的前端开发人员,试图学习PHP以使我成为更好的程序员。我需要帮助理解为什么下面的代码仍然打印出我的私有变量。我认为在尝试通过继承类访问它时会抛出错误。

<?php
class Kopi
{
 private $name = 'Kopi';

    function __construct()
    {
      $this->getName();      
    }
    function getName()
    {
      echo $this->name;   
    }
}

class Dog extends Kopi
{
       function __construct()
       {
            Parent::getName();   
       }
}

$kopi = new Dog;

1 个答案:

答案 0 :(得分:0)

您的财产$name是私有的。另一方面,您使用的方法不是。

您无法直接访问$name,但您的getter方法完全可以检索该值。

http://php.net/manual/en/language.oop5.visibility.php