是否可以做这样的事情:
class foo {
private $private = 'A';
}
class bar extends foo {
echo $this->private;
}
bar returns null...
如果子类无法访问变量$ private,我真的很喜欢它,但我不确定它甚至可能仅基于基于分类的开发的范例。
私有财产不提供我正在寻找的功能。
我知道这不是准确的PHP代码,但它只是一个例子;)
答案 0 :(得分:2)
这就是它已经运作的方式。请参阅documentation:
可以通过在声明前加上关键字public,protected或private来定义属性或方法的可见性。声明为public的类成员可以随处访问。声明受保护的成员只能在类本身以及继承和父类中访问。 声明为私有的成员只能由定义成员的类访问。
请在此处查看示例:http://codepad.org/Yz4yjDft
私有财产不提供我正在寻找的功能。
对我来说,这似乎正是你想要的。如果没有,请详细说明。
答案 1 :(得分:0)
class foo {
protected $private = 'A';
}
class bar extends foo {
function __construct() {
echo $this->private;
}
}
new bar();
// will echo 'A'
你只需要在一个函数内部进行处理,你就不能在你的课堂内进行回音。
编辑:
protected将允许您仅在后代类中使用该变量。如果这就是你要找的东西