⊗ppOpIhCOM 29 of 107 menu

ओओपी में PHP में ओवरराइड किए गए मेथड को कॉल करना

ओवरराइडिंग करते समय, चाइल्ड पैरेंट के ओवरराइड किए गए मेथड तक पहुंच खो देता है। हालाँकि, फिर भी उस तक पहुँच प्राप्त की जा सकती है। यह parent कीवर्ड का उपयोग करके किया जाता है, जो पैरेंट क्लास को इंगित करता है।

आइए एक उदाहरण देखें, जब हमें पैरेंट मेथड तक पहुँच की आवश्यकता हो सकती है। मान लीजिए कि हमारे पास निम्नलिखित पैरेंट क्लास है:

<?php class User { private $name; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } } ?>

मान लीजिए कि हमने चाइल्ड क्लास में पैरेंट के मेथड को ओवरराइड कर दिया है:

<?php class Student extends User { public function setName($name) { if (strlen($name) > 0) { $this->name = $name; } else { echo 'student name error'; } } } ?>

यह देखा जा सकता है कि ओवरराइड किए गए मेथड में, जब कंडीशन सही होती है, तो वास्तव में पैरेंट मेथड का कोड execute होता है। इससे कोड की अनावश्यक डुप्लिकेशन हो रही है।

पैरेंट के मेथड को कॉल करके इस डुप्लिकेशन को हटाया जा सकता है। आइए इसे करते हैं:

<?php class Student extends User { public function setName($name) { if (strlen($name) > 0) { parent::setName($name); // पैरेंट का मेथड } else { echo 'student name error'; } } } ?>

निम्नलिखित कोड दिया गया है:

<?php class User { private $age; public function setAge($age) { if ($age >= 0) { $this->age = $age; } else { echo 'need age more 0'; } } } class Employee extends User { public function setAge($age) { if ($age <= 120) { if ($age >= 0) { $this->age = $age; } else { echo 'need age more 0'; } } else { echo 'need age less 120'; } } } ?>

Employee क्लास में, एज सेटर को सरल बनाएं, मूल पैरेंट मेथड का उपयोग करके।

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें