c# - How do I implement interfaces in python? -


  सार्वजनिक इंटरफ़ेस IInterface {void show (); } पब्लिक क्लास मायक्लास: IInterface {#region IInterface सदस्य सार्वजनिक शून्य शो () {Console.WriteLine ("हैलो वर्ल्ड!"); } # सी # कोड  

मैं इस सी # कोड के पायथन समतुल्य को कैसे लागू कर सकता हूं?

  वर्ग IInterface (ऑब्जेक्ट): def __init __ (self): pass def शो (आत्म): अपवाद उठाना ("नॉटिइम्प्लेटेड एक्सपैशन") वर्ग MyClass (IInterface): def __init __ (स्वयं): IInterface .__ init __ (स्वयं) def शो (स्वयं): प्रिंट 'हैलो वर्ल्ड!'  

क्या यह एक अच्छा विचार है ?? कृपया अपने उत्तर में उदाहरण दें।

जैसा कि यहां पर अन्य के द्वारा उल्लिखित है:

इंटरफेस पायथन में आवश्यक नहीं है इसका कारण यह है कि पायथन में कई बहुमुखी विरासत हैं, और डिकटीपिंग भी है, जिसका मतलब है कि वे जगहें जहां आप चाहिए में जावा में इंटरफेस है, आपको उन्हें पायथन में रखना नहीं है।

उस ने कहा, इंटरफेस के अभी भी कई उपयोग हैं इनमें से कुछ पायथन एब्बट बेस क्लासेस द्वारा कवर किए गए हैं, जो पायथन 2.6 में पेश किए गए हैं। यह उपयोगी है यदि आप बेसक्लासेस बनाना चाहते हैं जो तत्काल नहीं किया जा सकता है, लेकिन एक विशिष्ट इंटरफ़ेस या कार्यान्वयन का एक हिस्सा प्रदान कर सकता है।

एक अन्य उपयोग यह है कि क्या आप किसी भी तरह निर्दिष्ट करना चाहते हैं कि कोई ऑब्जेक्ट एक विशिष्ट इंटरफ़ेस लागू करता है, और आप एबीसी का उनसे उप-क्लासिंग करके भी इसका उपयोग कर सकते हैं एक अन्य तरीका zope.interface है, एक मॉड्यूल जो कि ज़ोपी घटक वास्तुकला का एक हिस्सा है, वास्तव में बहुत अच्छा घटक है। यहां आप इंटरफेस से उपवर्ग नहीं करते हैं, लेकिन इसके बजाय एक इंटरफ़ेस को लागू करने के रूप में वर्ग (या यहां तक ​​कि उदाहरण) को चिह्नित करें। यह एक घटक रजिस्ट्री से घटकों को देखने के लिए भी इस्तेमाल किया जा सकता है सुपरकोल!


Comments

Popular posts from this blog

objective c - iPhone and it's wireless area -

unix - Listing all shared memory segments used by a process on AIX5.3+ -

tsql - Correct sql/hql query (aggregate in where clause) -