不是一個真正的問題,更像是我的一部分,但作爲一個例子好奇,說我有一個PHP類:
class baseTestMain
{
protected function testFunction()
{
echo 'baseTestMain says hi';
}
}
而且從該類擴展上面的另一個類:
class aSubClass extends baseTestMain
{
public function doingSomething()
{
parent::testFunction();
//someextrastuffhere
}
}
常,當我想在子類中定義新方法時調用父方法時,我會執行上述操作 - 但是,您可以使用$this->methodname()
而不是parent::
,並且操作也是相同的。
class aSubClass extends baseTestMain
{
public function doingSomething()
{
$this->testFunction();
//someextrastuffhere
}
}
那麼,我問的是,我應該用parent::testFunction();
或使用$this->testFunction();
?或者我錯過了它有什麼不同?如果沒有,你的偏好或首選方法是什麼?
請注意,我並不是在子類中重寫或擴展該函數,實質上是從父類繼承實現。
「請注意,我並不是在子類中重寫或擴展該函數,實質上是從父類繼承實現。」 – 2011-02-24 08:16:28
@Ignacio Vazquez-Abrams:謝謝,我在回答問題的頂部添加了另一段。我想我的例子是無關緊要的,所以我放棄了它。 – BoltClock 2011-02-24 08:18:14
@Aesphere,考慮到可讀性和概念,這是最好的答案。 – 2014-06-30 19:40:58