मैं एक अजगर वर्ग है कि एक सूची इंटरफेस कहते हैं में एक समारोह है। क्योंकि एक वर्ग बस अपना इंटरफेस, हड़पने इस वस्तु कहा से विरासत है, और सभी अद्यतन के लिए खुद को रजिस्टर करने के लिए की जरूरत हैपायथन में फ़ंक्शन पैरामीटर प्रकार को फोर्स करें?
def RegisterAsListener(self, inListener):
self.__TransitListeners.append(inListener)
यह अच्छा है।
class ITransit():
def TransitUpdate(self, data):
raise NotImplementedError("You must define this function.")
(यह मानते हुए कि मैं एक अंतरफलक सही ढंग से बना)
के बाद से मैं इस परियोजना पर केवल एक ही नहीं कर रहा हूँ, मैं किसी को किसी गलत डेटा प्रकार के साथ RegisterAsListener फ़ंक्शन को कॉल नहीं करना चाहती। मैं पंजीकरण फ़ंक्शन के भीतर प्रकार की जांच करने के लिए कोड डाल सकता हूं, लेकिन यह तब आसान होगा जब संकलक प्रोग्रामर पर चिल्लाएंगे जब वे गलत डेटा प्रकार में फेंकने का प्रयास करेंगे।
def RegisterAsListener(self, IListener inListener):
self.__TransitListeners.append(inListener)
क्या ऐसा करने का कोई तरीका है?
'अगर संकलक बस प्रोग्रामर पर चिल्लाया '... क्या कंपाइलर? – Abhijit
परिभाषित करने के लिए 'abc' मॉड्यूल का उपयोग करें कि इसके बजाय किसी ऑब्जेक्ट को किस प्रकार कार्यान्वित किया जाना चाहिए। –
अन्यथा, पायथन एक * गतिशील रूप से टाइप की गई * भाषा है, यह * आपके लिए ऑब्जेक्ट प्रकारों को लागू नहीं करता है। –