今天突然發現需要在父類中調用子類的方法,之前一直都沒這么用過,通過實踐發現也可以,實例代碼如下:
- <?php
- /**
- * 父類調用子類方法 基類
- * @author LNMP100
- *
- */
- class BaseApp
- {
- /**
- * 調用子類方法
- * @version 創建時間:2013-07-10
- */
- function _run_action()
- {
- $action = "index";
- $this->$action();
- }
- }
- class DefaultApp extends BaseApp
- {
- /**
- * 此方法將在父類中調用
- */
- function index()
- {
- echo "DefaultApp->index() invoked";
- }
- function Go(){
- //調用父類
- parent::_run_action();
- }
- }
- $default=new DefaultApp();
- $default->Go();
- //將顯示DefaultApp->index() invoked
- ?>
我們在父類的go()方法里面調用了
$default->Go();
swim是子類定義的方法(注意,我們并沒有在父類中定義abstract function swim()),說明了這不是多態,我們不僅調用了方法,還調用了成員,是ok的.
新聞熱點
疑難解答