我是编写OOP的新手。
我认为父项的属性是由子项自动继承的,除非在子类中定义。
我有一个父类,如:
class parentClass {
public $name;
}
.
.
.
class childClass extends parentClass {
protected $id;
protected $frontend_name;
}
当我尝试加载它们时,我收到此错误:
PHP致命错误:对于childClass :: $ name的访问级别必须是第2571行/var/wwww/model.php中的公共(如类parentClass中)
为什么?
答案 0 :(得分:2)
使用代码:
class parentClass {
public $name = 'foo';
}
class childClass extends parentClass {
protected $id;
protected $frontend_name;
}
从儿童班打电话
$child = new childClass;
echo $child->name;
或从父类调用
$parent = new parentClass;
echo $parent->name;
结果:
foo
答案 1 :(得分:-1)
再次声明变量会抛出错误,因为您已经从父类继承了它们。所以,不,你不能声明从父类继承的变量。