簡體   English   中英

我必須聲明從父類繼承的變量嗎? (PHP 5.3.2)

[英]Must I declare variables inherited from the parent class? (PHP 5.3.2)

我是寫OOP的新手。

我認為,除非在子類中定義,否則父級的屬性將由子級自動繼承。

我有一個像這樣的家長班:

class parentClass {
  public $name;
}
.
.
.

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

當我嘗試加載它們時,出現此錯誤:

PHP致命錯誤:在第2571行的/var/wwww/model.php中,對childClass :: $ name的訪問級別必須是公共的(與在parentClass類中一樣)

這是為什么?

使用代碼:

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

再次聲明該變量將引發錯誤,因為您已經從父類繼承了它們。 因此,不,您一定不能聲明從父類繼承的變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM