वास्तव में कोई समस्या नहीं है, मेरे हिस्से पर जिज्ञासा की तरह, लेकिन एक उदाहरण के रूप में, कहें कि मेरे पास एक PHP वर्ग है:
class baseTestMain
{
protected function testFunction()
{
echo 'baseTestMain says hi';
}
}
और दूसरी कक्षा जो ऊपर की कक्षा से फैली हुई है:
class aSubClass extends baseTestMain
{
public function doingSomething()
{
parent::testFunction();
//someextrastuffhere
}
}
आम तौर पर, जब मैं सबक्लास में एक नई विधि को परिभाषित करते समय एक मूल विधि को कॉल करना चाहता हूं तो मैं उपरोक्त - parent::methodnamehere()
करता हूं हालांकि parent::
के बजाय आप $this->methodname()
का भी उपयोग कर सकते हैं और ऑपरेशन वही होगा।
class aSubClass extends baseTestMain
{
public function doingSomething()
{
$this->testFunction();
//someextrastuffhere
}
}
तो मैं जो पूछ रहा हूं, क्या मुझे parent::testFunction();
का उपयोग करना चाहिए या $this->testFunction();
का उपयोग करना चाहिए? या इसमें कोई फर्क पड़ता है कि मुझे याद आया है? यदि नहीं, तो आपकी प्राथमिकता या पसंदीदा विधि क्या है?
ध्यान दें कि मैं subclass में उस फ़ंक्शन को ओवरराइड या विस्तारित नहीं कर रहा हूं, अनिवार्य रूप से कार्यान्वयन माता-पिता से लिया जाता है।
"ध्यान दें कि मैं उप-वर्ग में उस कार्य को ओवरराइड या विस्तारित नहीं कर रहा हूं, अनिवार्य रूप से कार्यान्वयन माता-पिता से किया जाता है।" –
@Ignacio Vazquez-Abrams: धन्यवाद, मैंने शीर्ष पर एक और अनुच्छेद जोड़ा जो प्रश्न का उत्तर देता है। मुझे लगता है कि मेरा उदाहरण अप्रासंगिक है इसलिए मैंने इसे हटा दिया। – BoltClock
@ एस्फेयर, पठनीयता और अवधारणा को ध्यान में रखते हुए, यह सबसे अच्छा जवाब है। –