सेटिंग्सएंड्रॉइडप्रदर्शनउपकरणआईफोनसुरक्षास्मार्टफोनमोबाइलडिवाइस प्रबंधनसमस्या निवारण सभी

निजी कॉल कैसे करें

संपादित 3 दिन पहले द्वारा ExtremeHow संपादकीय टीम

फोन गोपनीयतामोबाइल फोनसंचारगोपनीयताआईटीडिजिटल साक्षरतादूरसंचारसुरक्षाफोन सुविधाएँ

निजी कॉल कैसे करें

अनुवाद अपडेट किया गया 3 दिन पहले

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की दुनिया में, एक सामान्य विषय जो उठता है वह है निजी विधियों या गुणों तक पहुंचना। निजी विधियों को कॉल या एक्सेस करना बहुत महत्वपूर्ण है क्योंकि यह सॉफ़्टवेयर डिज़ाइन में एनकैप्सुलेशन और सूचना छुपाना, मुख्य अवधारणाओं से संबंधित हो सकता है।

निजी विधियों का परिचय

प्रोग्रामिंग में, विशेष रूप से ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं जैसे कि जावा, पायथन और सी++ में, विधियों और गुणों को पहुँच स्तरों के आधार पर वर्गीकृत किया जा सकता है। ये पहुँच स्तर सार्वजनिक, संरक्षित और निजी हैं।

इस स्पष्टीकरण का मुख्य फोकस निजी विधियों और उन्हें कैसे कॉल किया जाए, पर है।

निजी विधियों का उपयोग क्यों करें?

निजी विधियों का उपयोग एक वर्ग के आंतरिक तर्क को कैप्सूल करने के लिए किया जाता है। इन्हें बाहरी हेरफेर से छिपाया जाता है, जो डेटा अखंडता बनाए रखने और अधिक सुरक्षित कोड की अनुमति देने में मदद करता है।

निजी विधियों का उपयोग करने से डेवलपर्स को कोड निर्भरताओं को कम करने और यह सुनिश्चित करने में मदद मिलती है कि वर्ग के आंतरिक कार्य बाहरी दुनिया के सामने उजागर न हों।

विभिन्न प्रोग्रामिंग भाषाओं में निजी विधियों का एक्सेस

1. सी++

सी++ में, निजी विधियों को private कीवर्ड का उपयोग करके घोषित किया जाता है। यहाँ एक उदाहरण है जो दिखाता है कि एक ही वर्ग में निजी विधियों को कैसे परिभाषित और एक्सेस किया जाता है:

#include <iostream> 
class MyClass { 
public: 
    void publicMethod() { 
        std::cout << "Public Method" << std::endl; 
        privateMethod(); 
    } 
private: 
    void privateMethod() { 
        std::cout << "Private Method" << std::endl; 
    } 
}; 
int main() { 
    MyClass obj; 
    obj.publicMethod(); 
    return 0; 
}

उपरोक्त उदाहरण में, privateMethod एक निजी विधि है जिसे केवल वर्ग के भीतर ही कॉल किया जा सकता है। इसे सार्वजनिक विधि publicMethod द्वारा कॉल किया जाता है।

2. जावा

जावा में, निजी विधियों को private कीवर्ड का उपयोग करके घोषित किया जाता है। यहाँ एक उदाहरण है:

public class MyClass { 
    public void publicMethod() { 
        System.out.println("Public Method"); 
        privateMethod(); 
    } 
    private void privateMethod() { 
        System.out.println("Private Method"); 
    } 
    public static void main(String[] args) { 
        MyClass obj = new MyClass(); 
        obj.publicMethod(); 
    } 
}

सी++ की तरह, निजी विधि privateMethod केवल वर्ग के भीतर ही कॉल की जा सकती है, और इसे सार्वजनिक विधि publicMethod द्वारा कॉल किया जाता है।

3. पायथन

पायथन में, सी++ और जावा की तरह सख्त निजी विधियों की अवधारणा नहीं है। इसके बजाय, यह एक अंडरस्कोर (_) को विधि नाम के सामने रखकर एक सम्मेलित उपयोग करता है। यहाँ बताया गया है कि आप पायथन में निजी विधि को कैसे परिभाषित और एक्सेस कर सकते हैं:

class MyClass: 
    def public_method(self): 
        print("Public Method") 
        self.__private_method() 
    def __private_method(self): 
        print("Private Method") 

obj = MyClass() 
obj.public_method()

पायथन में, निजी विधियों को विधि नाम के सामने डबल अंडरस्कोर (__) रखकर संकेतित किया जाता है। इन विधियों को अभी भी एक्सेस किया जा सकता है यदि आप नाम-मैंग्लिंग पैटर्न जानते हैं, लेकिन इन्हें छिपाया जाना चाहिए।

4. जावास्क्रिप्ट

जावास्क्रिप्ट में, निजी विधियों को क्लोजर या वर्ग के अंदर # प्रतीक का उपयोग करके कार्यान्वित किया जा सकता है (ECMAScript 2022 तक)। यहाँ एक आधुनिक दृष्टिकोण के साथ एक उदाहरण है:

class MyClass { 
    publicMethod() { 
        console.log("Public Method"); 
        this.#privateMethod(); 
    } 
    #privateMethod() { 
        console.log("Private Method"); 
    } 
} 

const obj = new MyClass(); 
obj.publicMethod();

आधुनिक दृष्टिकोण में, निजी विधि को विधि नाम से पहले # प्रतीक का उपयोग करके घोषित किया जाता है। इसे केवल वर्ग के भीतर ही एक्सेस किया जा सकता है।

निजी विधियों को बायपास करना

कक्षा के बाहर निजी विधियों का सीधे एक्सेस करना आम तौर पर हतोत्साहित किया जाता है क्योंकि यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के सिद्धांतों का उल्लंघन करता है। हालाँकि, परीक्षण उद्देश्यों या डिबगिंग के लिए, यह आवश्यक हो सकता है।

1. जावा में रिफ्लेक्शन का उपयोग

जावा एक ऐसी सुविधा प्रदान करता है जिसे रिफ्लेक्शन कहा जाता है, जो आपको किसी एप्लिकेशन के रनटाइम व्यवहार का निरीक्षण और संशोधित करने की अनुमति देती है। यहाँ एक उदाहरण है जो दर्शाता है कि रिफ्लेक्शन का उपयोग करके निजी विधि को कैसे एक्सेस किया जाए:

import java.lang.reflect.Method; 
public class MyClass { 
    private void privateMethod() { 
        System.out.println("Private Method"); 
    } 
    public static void main(String[] args) throws Exception { 
        MyClass obj = new MyClass(); 
        Method method = MyClass.class.getDeclaredMethod("privateMethod"); 
        method.setAccessible(true); 
        method.invoke(obj); 
    } 
}

2. पायथन में निजी विधियों को एक्सेस करना

पायथन कड़ाई से निजी विधियों को लागू नहीं करता है, इसलिए यदि आप नाम-मैंगलिंग पैटर्न जानते हैं तो आप अभी भी उन्हें एक्सेस कर सकते हैं। यहाँ एक उदाहरण है:

class MyClass: 
    def __private_method(self): 
        print("Private Method") 

obj = MyClass() 
obj._MyClass__private_method()

इस उदाहरण में, आप विधि नाम के बाद वर्ग नाम का उपयोग करके निजी विधि तक पहुंच सकते हैं।

सर्वश्रेष्ठ प्रथाएं

हालांकि कक्षा के बाहर से निजी विधि को एक्सेस करना तकनीकी रूप से संभव है, यह सामान्य रूप से अनुशंसित नहीं है। यहाँ कुछ सर्वेश्रेष्ठ प्रथाएं हैं जिन्हें ध्यान में रखना चाहिए:

निष्कर्ष

निजी विधियों को कॉल करने का तरीका समझना सॉफ़्टवेयर डेवलपर्स के लिए बहुत महत्वपूर्ण है। प्रत्येक प्रोग्रामिंग भाषा की अपनी विधि है निजी विधियों को परिभाषित और एक्सेस करने की। हालांकि कक्षा के बाहर से निजी विधियों का एक्सेस करना सामान्य रूप से हतोत्साहित किया जाता है, कुछ तकनीकें जैसे जावा में रिफ्लेक्शन या पायथन में नाम-मैंगलिंग का उपयोग किया जा सकता है यदि आवश्यक हो।

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

यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं


टिप्पणियाँ