Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में चाइल्ड क्लास में पैरेंट कंस्ट्रक्टर कैसे कॉल करें?

चाइल्ड क्लास में पैरेंट कंस्ट्रक्टर मेथड को कॉल करते समय हम दो मामलों का सामना करेंगे।

केस 1

यदि चाइल्ड क्लास एक कंस्ट्रक्टर परिभाषित करती है तो हम पैरेंट क्लास कंस्ट्रक्टर को चाइल्ड क्लास में सीधे नहीं चला सकते। पैरेंट कंस्ट्रक्टर चलाने के लिए, चाइल्ड कंस्ट्रक्टर के भीतर parent::__construct() का कॉल आवश्यक है।

उदाहरण

<?php 
    class grandpa{ 
        public function __construct(){ 
            echo "I am in Tutorials Point"."\n"; 
        } 
    } 
    class papa extends grandpa{ 
        public function __construct(){ 
            parent::__construct(); 
            echo "I am not in Tutorials Point"; 
        } 
    } 
    $obj = new papa(); 
?>
Output: I am in Tutorials Point I am not in Tutorials Point

व्याख्या

उपरोक्त उदाहरण में, हमने पैरेंट क्लास कंस्ट्रक्टर को कॉल करने के लिए parent::__construct() का उपयोग किया है।

केस 2

यदि चाइल्ड कंस्ट्रक्टर परिभाषित नहीं करता है तो यह पैरेंट क्लास से ठीक एक सामान्य क्लास मेथड की तरह इनहेरिट हो सकता है (यदि इसे प्राइवेट के रूप में घोषित नहीं किया गया था)।

उदाहरण

<?php 
    class grandpa{ 
        public function __construct(){ 
            echo "I am in Tutorials point"; 
        } 
    } 
    class papa extends grandpa{ 
    } 
    $obj = new papa(); 
?>

आउटपुट

I am in Tutorials point

व्याख्या

यहां पैरेंट क्लास को निहित रूप से कॉल किया जाता है क्योंकि चाइल्ड क्लास में हमने चाइल्ड क्लास में कोई कंस्ट्रक्टर फंक्शन घोषित नहीं किया है।

  1. - C# में स्टेटिक कंस्ट्रक्टर को कैसे कॉल करें या स्टेटिक कंस्ट्रक्टर कब बुलाया जाता है?

    स्टेटिक कंस्ट्रक्टर पहली बार इंस्टेंस बनने से पहले या किसी स्टेटिक सदस्य को संदर्भित करने से पहले स्वचालित रूप से बुलाए जाते हैं। एक स्टेटिक कंस्ट्रक्टर का उपयोग किसी भी स्टेटिक डेटा को इनिशियलाइज़ करने के लिए किया जाता है, या किसी विशेष कार्रवाई को करने के लिए जिसे केवल एक बार करने की आवश्यकता होत

  1. - C# में क्लास के मेथड को कैसे कॉल करें

    किसी मेथड को कॉल करने के लिए, ऑब्जेक्ट नाम के बाद मेथड के नाम का उपयोग करें, उदाहरण के लिए, - obj1.Display(); मान लें क्लास नाम ApplicationOne है, तो मेथड को कॉल करने के लिए - ApplicationOne one = new ApplicationOne(); //calling the displayMax method ret = one.displayMax(a, b); निम्नलिखित उदाहरण C#

  1. - Python में क्लास इनहेरिटेंस कैसे काम करती है?

    क्लासेस में इनहेरिटेंस क्लास को नए सिरे से परिभाषित करने के बजाय, हम पैरेंट क्लास को नई क्लास के नाम के बाद पैरेंथेसिस में सूचीबद्ध करके पहले से मौजूद क्लास से इसे डेराइव करके एक क्लास बना सकते हैं। चाइल्ड क्लास अपने पैरेंट क्लास के एट्रिब्यूट्स इनहेरिट करती है, और हम उन एट्रिब्यूट्स का उपयोग कर सकत