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

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


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

केस1

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

उदाहरण

<?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

स्पष्टीकरण

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

केस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# में कॉल किया जाए?

    स्टेटिक कंस्ट्रक्टर को पहला इंस्टेंस बनने से पहले या किसी स्टैटिक मेंबर को रेफर करने से पहले अपने आप कॉल किया जाता है। स्टैटिक कंस्ट्रक्टर का उपयोग किसी भी स्टैटिक डेटा को इनिशियलाइज़ करने के लिए या किसी विशेष क्रिया को करने के लिए किया जाता है जिसे केवल एक बार करने की आवश्यकता होती है। C# में, के

  1. सी # में कक्षा की विधि को कैसे कॉल करें

    एक विधि को कॉल करने के लिए, वस्तु के नाम के बाद विधि के नाम का उपयोग करें, उदाहरण के लिए, - obj1. Display(); मान लें कि वर्ग का नाम ApplicationOne है, इसलिए विधि को कॉल करने के लिए - ApplicationOne one = new ApplicationOne(); //calling the displayMax method ret = one.displayMax(a, b); को कॉल करना

  1. पायथन में क्लास इनहेरिटेंस कैसे काम करता है?

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