以下に示すように、子クラスで PHP メソッドをオーバーライドし、署名のパラメーターを変更できます。
class theParent {
function myMethod($param1) {
// code here
}
}
class theChild extends theParent {
function myMethod($param1, $param2) {
// code here
}
}
これをテストしたところ、正常に動作し、エラーは発生しません。私の質問は、これは悪い形ですか?それとも OOP の基本的な教義ですか?
親メソッドがabstractと宣言されている場合、子シグネチャは逸脱できません。おそらくこれは、インターフェースのその側面を強制する必要がある場合に使用するメカニズムですか?