天天看點

子類覆寫父類方法時參數以及方法的通路權限問題

一、子類覆寫父類可繼承方法時子類同名方法的通路權限必須大等于父類(父類private不被子類繼承,也無覆寫一說)

報錯: Fatal error : Access level to Sun3::a() must be protected (as in class Father) or weaker in  F:\xampp\webRoots\object\extendsTest2.php  on line  22

二、子類覆寫父類方法,或實作父類抽象方法時參數個數必須與父類方法一緻。使用預設參數時可不一緻

1、使用預設參數,正确

子類覆寫父類方法時參數以及方法的通路權限問題

輸出結果為:

Mr.Pacman

Mrs||Pacwoman

2、未使用預設參數且參數個數不一緻

子類覆寫父類方法時參數以及方法的通路權限問題

報錯:

Fatal error: Declaration of ConcreteClass::prefixName() must be compatible with AbstractClass::prefixName($name) inF:\xampp\webRoots\object\abstractTest.php on line 17