2017-06-16 64 views
0

我擴展類:如何覆蓋父類方法並更改參數?

class Foo extends Bar 

我有覆蓋的方法對父類中的方法:

myMethod($param1, $param2) 

現在我想在我的子類添加額外的PARAM,但我收到一個兼容性錯誤。例如。

myMethod($param1, $param2, $param3) 

什麼是正確的方式來覆蓋父類的方法,所以我可以改變參數?

請注意我無法以任何方式更改父級。

+0

看看[這裏](HTTPS:/ /stackoverflow.com/questions/13423494/why-is-overriding-method-parameters-a-violation-of-strict-standards-in-php)SO問題。 – PeterMader

+0

你可以使用可選參數? PHP不支持重載,它通過允許可選參數來實現。 – FMashiro

回答

0

如果你不能改變父類的怎麼樣添加setParam3($param3) and getParam3()方法,所以前致電myMethod呼叫setParam3,然後在子類

myMethod($param1, $param2) 
{ 
    $param3 = $this->getparam3(); 
    // rest of code 
}