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

पायथन कक्षा के लिए गेटर्स/सेटर्स विधियां क्या हैं?


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

दुर्भाग्य से, यह व्यापक धारणा है कि एक उचित पायथन वर्ग को गेटर्स और सेटर्स का उपयोग करके निजी विशेषताओं को समाहित करना चाहिए। गेटर्स और सेटर्स का उपयोग करना आसान और सुरुचिपूर्ण नहीं है। ऐसा करने का पाइथोनिक तरीका गुण या संपत्ति वाले वर्ग का उपयोग करना है। एक विधि जिसका उपयोग मूल्य प्राप्त करने के लिए किया जाता है उसे "@property" से सजाया जाता है। जिस विधि को सेटर के रूप में कार्य करना है उसे "@x.setter" से सजाया गया है।

उदाहरण

गेटर्स और सेटर्स का उपयोग करने का एक उदाहरण इस प्रकार है

class P:
    def __init__(self,x):        
         self.__set_x(x)
    def __get_x(self):        
        return self.__x
    def __set_x(self, x):  
         if x < 0:            
           self.__x = 0  
        elif x > 1000:            
           self.__x = 1000        
        else:      
          self.__x = x
    x = property(__get_x, __set_x)



  1. पायथन में कक्षाएं बनाना

    वर्ग कथन एक नई वर्ग परिभाषा बनाता है। क्लास का नाम कीवर्ड क्लास के तुरंत बाद एक कोलन के बाद आता है - class ClassName: 'Optional class documentation string' class_suite कक्षा में एक दस्तावेज़ीकरण स्ट्रिंग है, जिसे ClassName.__doc__ के माध्यम से एक्सेस किया जा सकता है। class_suite में वर्ग के

  1. पायथन पहचानकर्ता क्या हैं?

    पायथन आइडेंटिफ़ायर एक ऐसा नाम है जिसका उपयोग किसी वेरिएबल, फंक्शन, क्लास, मॉड्यूल या अन्य ऑब्जेक्ट की पहचान करने के लिए किया जाता है। एक पहचानकर्ता अक्षर A से Z या a से z या अंडरस्कोर (_) से शुरू होता है और उसके बाद शून्य या अधिक अक्षर, अंडरस्कोर और अंक (0 से 9) होते हैं। पायथन पहचानकर्ताओं के भीतर

  1. पायथन में विरासत

    इस लेख में, हम पायथन 3.x में इनहेरिटेंस और एक्सटेंडिंग क्लासेस सीखेंगे। या पहले। वंशानुक्रम वास्तविक दुनिया के संबंधों का अच्छी तरह से प्रतिनिधित्व करता है, पुन:प्रयोज्य प्रदान करता है और पारगमन का समर्थन करता है। यह तेजी से विकास समय, आसान रखरखाव और विस्तार में आसान प्रदान करता है। वंशानुक्रम को