⊗ppOpIhOPM 28 of 107 menu

PHP में OOP में पैरेंट मेथड्स को ओवरराइड करना

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

<?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) { } } ?>

आमतौर पर, पैरेंट मेथड्स को ओवरराइड करने की आवश्यकता तब होती है जब हम उस मेथड के व्यवहार को बदलना या उसमें कुछ जोड़ना चाहते हैं। आइए हमारे मामले में नाम की लंबाई की जांच जोड़ें:

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

आइए सुनिश्चित करें कि वास्तव में ओवरराइड की गई मेथड ही कॉल हो रही है। सबसे पहले, चाइल्ड क्लास की एक ऑब्जेक्ट बनाएं:

<?php $student = new Student; ?>

अब हमारी मेथड को कॉल करें, इसमें एक वैध मान पास करके:

<?php $student->setName('john'); ?>

और अब मेथड को कॉल करें, इसमें एक अवैध मान पास करके। परिणामस्वरूप हमें एक त्रुटि दिखाई देगी:

<?php $student->setName(''); // त्रुटि ?>

User क्लास में आयु के लिए गेटर और सेटर बनाएं।

Employee क्लास में आयु के सेटर को ओवरराइड करें और इसमें यह जांच बनाएं कि आयु 18 से 65 वर्ष के बीच हो।

हिन्दी
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
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें