पैरेंट क्लास से चाइल्ड क्लास फ़ंक्शन को कॉल करना
PHP में, पैरेंट क्लास के भीतर चाइल्ड क्लास से फ़ंक्शन को कॉल करना संभव है, लेकिन इसके लिए सावधानीपूर्वक योजना बनाने की आवश्यकता है।
निम्न कोड उदाहरण पर विचार करें:
class whale { ... }
class fish extends whale { ... }
इस उदाहरण में, हमारे पास एक व्हेल वर्ग और एक मछली वर्ग है जो उससे विरासत में मिला है। लक्ष्य व्हेल वर्ग के myfunc() फ़ंक्शन के भीतर मछली वर्ग से परीक्षण() फ़ंक्शन को कॉल करना है।
समाधान: सार वर्गों का उपयोग करें
प्राप्त करने के लिए इससे हम अमूर्त वर्गों का लाभ उठा सकते हैं। एक अमूर्त वर्ग अपने बाल वर्गों में कुछ तरीकों के कार्यान्वयन को लागू करता है।
abstract class whale {
function __construct() { ... }
function myfunc() { $this->test(); }
abstract function test();
}
अद्यतन व्हेल वर्ग में, अब हम myfunc() और test() को अमूर्त तरीकों के रूप में घोषित करते हैं। myfunc() टेस्ट() को कॉल करेगा, जिसे चाइल्ड क्लास में लागू करने की आवश्यकता है।
class fish extends whale {
function __construct() { parent::__construct(); }
function test() { echo "So you managed to call me !!"; }
}
मछली वर्ग में, हम परीक्षण() के लिए एक कार्यान्वयन प्रदान करते हैं। यह सुनिश्चित करता है कि मूल वर्ग की अमूर्त आवश्यकताएं पूरी हो गई हैं।
इस सेटअप के साथ, अब हम व्हेल वर्ग के myfunc() के भीतर मछली से परीक्षण() फ़ंक्शन को कॉल कर सकते हैं।
$fish = new fish();
$fish->test(); // Output: So you managed to call me !!
$fish->myfunc(); // Output: So you managed to call me !!
अमूर्त कक्षाओं का उपयोग करके, हम उचित विरासत को लागू करते हैं और सुनिश्चित करते हैं कि बाल कक्षाएं आवश्यक तरीकों को लागू करती हैं। यह हमें मूल कक्षाओं से चाइल्ड क्लास फ़ंक्शंस को निर्बाध रूप से कॉल करने की अनुमति देता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3