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

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


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

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

उदाहरण

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

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


  1. - पायथन में क्लासेस बनाना

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

  1. - पायथन आइडेंटिफायर्स क्या हैं?

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

  1. पायथन में इनहेरिटेंस (Inheritance) पायथन में इनहेरिटेंस (Inheritance)

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