0

私はOOPを書くのが初めてです。

親のプロパティは、子クラスで定義されていない限り、子に自動的に継承されると思いました。

私は次のような親クラスを持っています:

class parentClass {
  public $name;
}
.
.
.

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

それらをロードしようとすると、次のエラーが発生します。

PHPの致命的なエラー:childClass :: $ nameへのアクセスレベルは、2571行の/var/wwww/model.phpで(クラス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 に答える