我是写OOP的新手。
我认为父的属性会自动由子类继承,除非在子类中定义。
我有一个父类,如下所示:
class parentClass {
public $name;
}
.
.
.
class childClass extends parentClass {
protected $id;
protected $frontend_name;
}
当我尝试加载它们时,出现此错误:
PHP 致命错误:对 childClass::$name 的访问级别必须是公共的(如在类 parentClass) 中的/var/wwww/model.php 第 2571 行
为什么?
使用代码:
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
再次声明变量将引发错误,因为您已经从父类继承了它们。因此,不可以,您不得声明从父类继承的变量。