इंटरफ़ेस (या सभी विधियों के साथ एक अमूर्त वर्ग) एक स्थिर टाइप की गई भाषा जैसे सी #, जावा में एक शक्तिशाली हथियार है। यह अलग-अलग व्युत्पन्न प्रकारों को एक समान तरीके से उपयोग करने की अनुमति देता है। डिजाइन पैटर्न हमें जितना संभव हो सके इंटरफ़ेस का उपयोग करने के लिए प्रोत्साहित करते हैं।गतिशील भाषा में इंटरफ़ेस?
हालांकि, एक गतिशील टाइप की गई भाषा में, सभी ऑब्जेक्ट्स को संकलित समय पर उनके प्रकार के लिए चेक नहीं किया जाता है। उन्हें एक विशिष्ट तरीके से उपयोग करने के लिए एक इंटरफ़ेस को लागू करने की आवश्यकता नहीं है। आपको बस यह सुनिश्चित करने की आवश्यकता है कि उनके पास परिभाषित कुछ विधियां (विशेषताएं) हैं। यह इंटरफ़ेस आवश्यक नहीं है, या कम से कम उतना उपयोगी नहीं है जितना कि यह स्थिर भाषा में है।
क्या एक सामान्य गतिशील भाषा (उदा। रूबी) में इंटरफ़ेस है? यदि ऐसा होता है, तो इसे रखने के क्या फायदे हैं? यदि ऐसा नहीं होता है, तो क्या हम कई खूबसूरत डिज़ाइन पैटर्न खो रहे हैं जिनके लिए इंटरफ़ेस की आवश्यकता है?
धन्यवाद।
मैं दूसरी बात पसंद है! :) – Shuo
यदि कोई वर्ग डिफ़ॉल्ट कार्यान्वयन प्रदान करता है, तो यह इंटरफ़ेस-जैसी नहीं है क्योंकि अंतरफलक विशेष रूप से सार वर्गों से भिन्न होते हैं जिसमें वे कोई कार्यान्वयन नहीं कर सकते हैं। – sepp2k
@ sepp2k, मैं सहमत हूं। यही वह नहीं है जिसे मैं इंटरफेस कहता हूं। – Shuo