MW211 EXIT

devlog
PHP/アクセス修飾子の組み合わせ(3)
2012年03月02日
では、protected修飾子の変数を、親と子で同名で使用した上で
親メソッド、子メソッドのぞれぞれで参照した場合は?
┌──────────────────────────────────────┐
│class 親 {                                                                  │
│  protected $a = '親';  // →必須ではない                                   │
│  public function method親() {                                              │
│    $this->a .= 'です';                                                     │
│  }                                                                         │
│}                                                                           │
└──────────────────────────────────────┘
┌──────────────────────────────────────┐
│class 子 extends 親 {                                                       │
│  protected $a = '子';                                                      │
│  public function method子() {                                              │
│    $this->method親();                                                      │
│    return $this->a;                                                        │
│  }                                                                         │
│}                                                                           │
└──────────────────────────────────────┘
親メソッドで該当する方の変数に「です」をつけてみた場合
やはり子で定義した値に「です」が追加される。
┌──────────────────────────────────────┐
│$子 = new 子();                                                             │
│echo $子->method子();  // →結果は「子です」                                │
└──────────────────────────────────────┘
分類:PHP