0

我是编写 OOP 的新手。

我认为除非在子类中定义,否则父级的属性会自动由子级继承。

我有一个父类,例如:

class parentClass {
  public $name;
}
.
.
.

class childClass extends parentClass {
  protected $id;
  protected $frontend_name;
}

当我尝试加载它们时,我收到此错误:

PHP 致命错误:第 2571 行 /var/wwww/model.php 中对 childClass::$name 的访问级别必须是公共的(如在类 parentClass 中)

这是为什么?

4

2 回答 2

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
于 2012-05-06T04:09:32.680 回答
-1

再次声明变量会引发错误,因为您已经从父类继承了它们。所以,不,你不能声明从父类继承的变量。

于 2012-05-06T04:02:35.673 回答