0

在这个特定的示例中,我们有一个父类和从父类继承的子类。

在父类中,我们有一个名为 $abc 的公共变量和一个名为 abc() 的方法:

public $hello = 'hi';

class ABC {
  function abc() {
    ...
  }
}

继承的子类:

class DEF extends ABC {
  function def() {
    parent::abc();
    echo $this->hello;
  }
}

我的问题是,为什么我们使用parent::来访问父类的方法,但我们使用$this->来访问变量,而不是parent::呢?我坚持使用 $this-> 但我想知道这背后的理论。

4

1 回答 1

0
class DEF extends ABC {
  function abc() {
    return parent::abc(); // here you use parent!
  }
}

You use parent:: to do call a method that belong to the parent but might/was overridden by the child.

于 2013-07-15T18:55:19.503 回答