试图理解PHP OOP

php*_*ete 1 php

我想知道为什么下面的代码不会打印出任何东西.我正在尝试Bar::$some_var从父类中的方法访问.凡Bar::$some_var在它的构造函数中定义.

我已经尝试使用self::$some_var,并static::$some_varFoo::hello()但既不工作.我需要做$some_var static吗?

class Foo {

    private $some_var;

    public function __construct() {
        $this->some_var = 5;
    }

    public function hello() {
        print $this->some_var;
    }
}

class Bar extends Foo {

    public function __construct() {
        $this->some_var = 10;
    }
}

$bar = new Bar();
$bar->hello();
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Joh*_*nde 5

private使成员变量在类之外不可用.您需要使用protected允许扩展类访问该变量.

protected $some_var;
Run Code Online (Sandbox Code Playgroud)

可见性