मुझे पता है कि यह एक बहुत ही बुनियादी सवाल है, लेकिन एक साक्षात्कारकर्ता ने मुझसे बहुत ही पेचीदा तरीके से पूछा और मैं असहाय था :(
मैं एक इंटरफ़ेस के लिए केवल सामग्री या सैद्धांतिक परिभाषा जानता हूं और कई परियोजनाओं में इसे लागू किया है, जिन पर मैंने काम किया था। लेकिन मुझे वास्तव में समझ में नहीं आता है कि यह क्यों और कैसे उपयोगी है।
मैं भी इंटरफ़ेस में एक बात समझ में नहीं आता है। उदाहरण के लिए, हम उपयोग करते हैं
conn.Dispose();अंत में ब्लॉक करें। लेकिन मैं यह नहीं देखता कि क्लास का मतलब IDisposableइंटरफ़ेस है या इनहेरिट कर SqlConnectionरहा है। मैं सोच रहा हूं कि कैसे मैं सिर्फ विधि नाम कह सकता हूं। इसके अलावा एक ही बात में, मुझे समझ नहीं आ रहा है कि डिस्पोज़ विधि कैसे काम करती है क्योंकि, हमें अपनी इंटरफ़ेस विधियों के लिए फ़ंक्शन को अपने स्वयं के कार्यान्वयन के साथ लागू करने की आवश्यकता है। तो इंटरफेसेस को अनुबंध के रूप में कैसे स्वीकार या नाम दिया जाता है? ये प्रश्न अब तक मेरे दिमाग में घूमते रहे और स्पष्ट रूप से मैंने कभी कोई अच्छा धागा नहीं देखा जो मेरे सवालों को इस तरह से समझाए कि मैं समझ सकूं।
एमएसडीएन हमेशा की तरह बहुत डरावना लग रहा है और कोई एकल लाइन स्पष्ट नहीं है ( फोल्क्स, कृपया बहाना जो उच्च स्तर के विकास में हैं, मुझे दृढ़ता से लगता है कि किसी भी कोड या लेख को देखने वाले के दिमाग में पहुंचना चाहिए, इसलिए जैसे कई अन्य कहते हैं, MSDN उपयोग का नहीं है )।
साक्षात्कारकर्ता ने कहा:
उसके पास 5 विधियां हैं और वह इसे सीधे कक्षा में लागू करने के लिए खुश है, लेकिन यदि आपको एब्सट्रैक्ट क्लास या इंटरफ़ेस के लिए जाना है, तो आप किसे चुनते हैं और क्यों? मैंने उसे उन सभी सामानों का उत्तर दिया जो मैंने विभिन्न ब्लॉग में पढ़ते हुए कहा था कि अमूर्त वर्ग और इंटरफ़ेस दोनों का लाभ और नुकसान, लेकिन वह आश्वस्त नहीं है, वह सामान्य रूप से "व्हाई इंटरफ़ेस" को समझने की कोशिश कर रहा है। "क्यों अमूर्त वर्ग" सामान्य रूप से भले ही मैं एक ही समय में एक ही तरीके को लागू कर सकता हूं और इसे बदल नहीं सकता।
मैं देखता हूं कि नेट कहां नहीं है, मुझे एक लेख मिल सकता है जो मुझे इंटरफेस और इसके कामकाज के बारे में स्पष्ट रूप से समझाएगा। मैं उन कई प्रोग्रामर्स में से एक हूं, जो अभी भी इंटरफेस के बारे में नहीं जानते हैं (मैं सैद्धांतिक और मेरे द्वारा इस्तेमाल किए जाने वाले तरीकों को जानता हूं) लेकिन संतुष्ट नहीं हूं कि मैंने इसे स्पष्ट रूप से समझा।
SqlConnectionSystem.ComponentModel.Componentजो विरासत में मिला है IDisposable।
SqlConnectionलागू होता है IDisposable।

