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