簡體   English   中英

是否可以直接在PHP中從父類調用函數

[英]Is it possible to call function from parent class directly in PHP

我有

class P {
    function fun() {
        echo "P"; 
    }
}

class Ch {    
    function fun() {
        echo "Ch";
    }
}

$x = new Ch();

如何從$ x調用父函數fun? 是否可以直接這樣做還是我必須寫:

function callParent {
    parent::fun();
}

簡單...在子級中沒有同名的方法,在這種情況下,父級方法將被子級繼承,對$ x-> fun()的調用將調用繼承的方法。

假設您的代碼實際上就是這樣的:

class P {
  function fun() {
    echo "P"; 
  }
}

class Ch extends P {
  function fun() {
    echo "Ch";
  }

  function callParent{
    parent::fun();
  }
}

$x = new Ch();

您確實必須使用parent :: fun()來調用P :: fun。

例如,這在您重寫必須為正確初始化父類而必須調用的方法的情況下很有用。

喜歡:

class Parent {
  function init($params) {
    // some mandatory code
  }
}

class Child extends Parent {
  function init($params) {
    parent::init();
    // some more code
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM