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

PHP में स्टेटिक और इंस्टेंस विधि की व्याख्या करें।

PHP में, स्थिर विधियों पर इंस्टेंस विधियाँ बेहतर अभ्यास हैं। किसी भी मामले में, यह कहना नहीं है कि स्थैतिक विधियां सहायक नहीं हैं, उनका एक विशिष्ट और अनूठा उद्देश्य है। यहां हम PHP में स्थिर और आवृत्ति विधियों के बीच तुलना पर चर्चा करते हैं।

यहां ध्यान दें कि इंस्टेंस मेथड हमेशा क्लास के ऑब्जेक्ट से जुड़ा होता है जबकि दूसरी ओर स्टैटिक मेथड्स हमेशा क्लास से जुड़े होते हैं।

पहले स्थैतिक विधि के बारे में बात करते हैं। PHP में स्थिर विधि अन्य ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग भाषाओं के समान है। PHP में स्थिर विधि का उपयोग करने के लिए महत्वपूर्ण मामले। स्थिर विधि का उपयोग तभी किया जाना चाहिए जब विशिष्ट जानकारी पूरी कक्षा के लिए स्थिर रहे। अनिवार्य रूप से, उस वर्ग की वस्तु की सहायता के बिना उस विधि तक पहुंचने के लिए स्थिर विधि का उपयोग किया जाता है।

उदाहरण

<?php
   class Car{
      static function getColor(){
         return "blue";
      }
   }
   echo (Car::getColor());
?>

आउटपुट:

blue

स्पष्टीकरण:

उदाहरण के लिए, उपरोक्त कार्यक्रम में सोचें कि कोई प्रोग्रामर कार के बारे में जानकारी बना रहा है और उसमें आपके पास कार क्लास है और एक फ़ंक्शन getColor() है जो कार के रंग को परिभाषित करता है, इसलिए प्रत्येक ऑब्जेक्ट जिसे getColor() फ़ंक्शन की आवश्यकता होती है क्लास कार की सभी वस्तुओं के लिए समान रंग लौटाता है, इसलिए इस मामले में हम getColor() विधि को स्थिर बना सकते हैं।

आइए इंस्टेंस विधि पर चर्चा करें। एक इंस्टेंस विधि का उपयोग तब किया जाता है जब ऑब्जेक्ट बनाए बिना विधि को कॉल करने का कोई तरीका नहीं होता है। साथ ही हर बार जब विधि को कक्षा के गुणों के साथ इंटरैक्ट करने की आवश्यकता होती है तो हमें एक इंस्टेंस विधि की आवश्यकता होती है।

उदाहरण

आइए उपरोक्त मामले को एक उदाहरण के साथ प्रदर्शित करें:

<?php
   class Employee{
      private $empname;
      function setEmpname($empname) {
         $this->empname = $empname;
      }
      function getEmpname() {
         return $this -> empname;
      }
   }
   $obj = new Employee;
   $obj -> setEmpname("Alex");
   echo $obj -> getName();
?>

आउटपुट:

Alex

स्पष्टीकरण:

एक कर्मचारी वर्ग पर विचार करें जिसमें setEmpname() कर्मचारी नाम पढ़ता है और getEmpname() विधि जो कर्मचारी का नाम देता है। इस मामले में, प्रत्येक कर्मचारी का नाम एक दूसरे से भिन्न होता है, इसलिए हम getEmpname() या setEmploye() विधि को स्थिर घोषित नहीं कर सकते क्योंकि हर बार ये तरीके एक चर "$empname" के साथ इंटरैक्ट करते हैं।


  1. सी # में स्टेटिक बनाम गैर स्थैतिक विधि

    सदस्य फ़ंक्शन को स्थिर के रूप में घोषित करें। ऐसे फ़ंक्शन केवल स्थिर चर तक पहुंच सकते हैं। वस्तु के बनने से पहले ही स्थिर कार्य मौजूद होते हैं। एक स्थिर वर्ग को तत्काल नहीं किया जा सकता है और इसमें केवल स्थिर सदस्य हो सकते हैं। स्थैतिक विधियाँ स्थिर कीवर्ड का उपयोग करके निर्धारित की जाती हैं - pub

  1. जावा में स्थिर और गैर-स्थिर विधियों के बीच अंतर

    एक जावा विधि बयानों का एक संग्रह है जिसे एक ऑपरेशन करने के लिए एक साथ समूहीकृत किया जाता है। जब आप System.out.println() विधि को कॉल करते हैं, उदाहरण के लिए, सिस्टम वास्तव में कंसोल पर एक संदेश प्रदर्शित करने के लिए कई कथन निष्पादित करता है। स्थिर विधि एक स्थिर विधि को एक वर्ग विधि भी कहा जाता है और

  1. जावा में स्टेटिक बाइंडिंग और डायनेमिक बाइंडिंग

    हां! जब संकलक जानता है कि विधि निष्पादन के लिए किन वस्तुओं का उपयोग किया जाना है, तो यह वस्तु के संदर्भ को स्थिर रूप से बांध सकता है। उदाहरण के लिए, स्थिर चर, निजी, अंतिम चर स्थिर बंधन का उपयोग कर रहे हैं। वहीं अगर रनटाइम पर ऑब्जेक्ट आइडेंटिफिकेशन करना है तो डायनेमिक बाइंडिंग का इस्तेमाल किया जाता ह