मेरे पास दो वर्ग हैं:
वर्ग BaseClass {सार्वजनिक फ़ंक्शन __construct () {$ this - & gt; init (); } निजी कार्य init () {// dosomething}} वर्ग Myclass BaseClass का विस्तार {सार्वजनिक फ़ंक्शन __construct () {}}
अब जब मैं बना रहा हूँ:
$ Myclass = नया माइक्लास;
फ़ंक्शन init नहीं चल रहा है, कोई मुझे मदद कर सकता है?
इसका कारण यह है कि आप अपने बच्चे के कक्षा में अपने कन्स्ट्रक्टर को ओवरराइड कर रहे हैं। जब आप किसी भी कार्य को अपने माता-पिता के निर्माता से अलग करते हैं या अपने माता-पिता के कन्स्ट्रक्टर को फोन करते हैं, तो उसे छोड़ दें।
वर्ग Myclass BaseClass प्रदान करता है {सार्वजनिक फ़ंक्शन __ रचना () {मूल :: __ निर्माण ); // माता-पिता के कन्स्ट्रक्टर को बुलाओ // कुछ चीजें जो स्पष्ट रूप से बाल वर्ग से संबंधित हैं}}
हम इस पर एक नजर डालते हैं कि PHP डॉक्स क्या कहते हैं:
ध्यान दें: मूल श्रेणी एक कन्स्ट्रक्टर को परिभाषित करता है, तो मूल कंस्ट्रक्टर्स को बेतरतीब नहीं कहा जाता है पैरेंट कन्स्ट्रक्टर को चलाने के लिए, बाल कन्स्ट्रक्टर में पेरेंट :: __ कंसल्टेशन () के लिए कॉल आवश्यक है। यदि बच्चा किसी निर्माता को परिभाषित नहीं करता है, तो यह सामान्य वर्ग पद्धति (जैसे कि इसे निजी के रूप में घोषित नहीं किया गया था) की तरह पैरेंट वर्ग से विरासत में प्राप्त किया जा सकता है।
आगे पढ़ने:
Comments
Post a Comment