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

PHP में फंक्शन ओवरलोडिंग और ओवरराइडिंग

PHP में फंक्शन ओवरलोडिंग

फ़ंक्शन ओवरलोडिंग एक ऐसी सुविधा है जो एक समान नाम के साथ कई तरीके बनाने की अनुमति देती है जो एक दूसरे से अलग तरह से काम करती है इनपुट पैरामीटर के रूप में इसे तर्क के रूप में स्वीकार किया जाता है।

उदाहरण

आइए अब फंक्शन ओवरलोडिंग को लागू करने के लिए एक उदाहरण देखें-

<?php
   class Shape {
      const PI = 3.142 ;
      function __call($name,$arg){
         if($name == 'area')
            switch(count($arg)){
               case 0 : return 0 ;
               case 1 : return self::PI * $arg[0] ;
               case 2 : return $arg[0] * $arg[1];
            }
      }
   }
   $circle = new Shape();
   echo $circle->area(3);
   $rect = new Shape();
   echo $rect->area(8,6);
?>

आउटपुट

यह निम्नलिखित आउटपुट उत्पन्न करेगा-

9.42648

PHP में फंक्शन ओवरराइड करना

फ़ंक्शन ओवरराइडिंग में, पैरेंट और चाइल्ड क्लास का फ़ंक्शन नाम और तर्कों की संख्या समान होती है

उदाहरण

आइए अब फ़ंक्शन ओवरराइडिंग को लागू करने के लिए एक उदाहरण देखें-

<?php
   class Base {
      function display() {
         echo "\nBase class function declared final!";
      }
      function demo() {
         echo "\nBase class function!";
      }
   }
   class Derived extends Base {
      function demo() {
         echo "\nDerived class function!";
      }
   }
   $ob = new Base;
   $ob->demo();
   $ob->display();
   $ob2 = new Derived;
   $ob2->demo();
   $ob2->display();
?>

आउटपुट

यह निम्नलिखित आउटपुट उत्पन्न करेगा-

Base class function!
Base class function declared final!
Derived class function!
Base class function declared final!

  1. PHP में get_class_methods () फ़ंक्शन

    get_class_methods() फ़ंक्शन को वर्ग विधियों के नाम मिलते हैं। यह name_of_class द्वारा निर्दिष्ट वर्ग के लिए परिभाषित विधि नामों की एक सरणी देता है। त्रुटि के मामले में, यह NULL देता है। सिंटैक्स get_class_methods(class) पैरामीटर name_of_class - वर्ग का नाम। आवश्यक! वापसी get_class_methods() फ

  1. PHP में is_subclass_of () फ़ंक्शन

    is_subclass_of() फ़ंक्शन यह जांचता है कि ऑब्जेक्ट में यह वर्ग उसके माता-पिता में से एक के रूप में है या नहीं। सिंटैक्स is_subclass_of(object, class, string) पैरामीटर ऑब्जेक्ट -परीक्षित वस्तु वर्ग -वर्ग का नाम स्ट्रिंग - यदि गलत पर सेट किया जाता है, तो स्ट्रिंग वर्ग का नाम ऑब्जेक्ट के रूप मे

  1. PHP में class_exists () फ़ंक्शन

    PHP में class_exists() फ़ंक्शन यह जांचता है कि क्या क्लास को परिभाषित किया गया है। यदि वर्ग एक परिभाषित वर्ग है तो यह TRUE लौटाता है, अन्यथा यह FALSE लौटाता है। सिंटैक्स class_exists(class, autoload) पैरामीटर कक्षा - कक्षा का नाम। स्वतः लोड करें - डिफ़ॉल्ट रूप से __autoload को कॉल करना है या न