मैं कह सकता हूं कि मैं इससे संबंधित हूं। जब मैंने पहली बार OO और C # के बारे में सीखना शुरू किया तो मुझे भी इंटरफेसेस नहीं मिले। ठीक है। हमें बस कुछ ऐसा करने की आवश्यकता है जो आपको इंटरफेस की उपयुक्तता की सराहना करे।
मुझे दो तरीकों की कोशिश करते हैं। और सामान्यीकरण के लिए मुझे क्षमा करें।
1 आजमाएं
कहते हैं कि आप एक देशी अंग्रेजी वक्ता हैं। आप दूसरे देश में जाते हैं जहां अंग्रेजी मूल भाषा नहीं है। आप को मदद की आवश्यकता है। आपको किसी ऐसे व्यक्ति की जरूरत है जो आपकी मदद कर सके।
क्या आप पूछते हैं: "अरे, क्या आप संयुक्त राज्य में पैदा हुए थे?" यह विरासत है।
या आप पूछते हैं: "अरे, क्या आप अंग्रेजी बोलते हैं"? यह इंटरफ़ेस है।
यदि आप इसकी परवाह करते हैं कि यह क्या करता है, तो आप इंटरफेस में भरोसा कर सकते हैं। यदि आप परवाह करते हैं कि क्या है, तो आप विरासत पर भरोसा करते हैं।
विरासत पर भरोसा करना ठीक है। यदि आपको किसी ऐसे व्यक्ति की आवश्यकता है जो अंग्रेजी बोलता है, चाय पसंद करता है और फुटबॉल पसंद करता है, तो आप बेहतर तरीके से एक ब्रिट के लिए पूछ रहे हैं। :)
2 की कोशिश करो
ठीक है, चलो एक और उदाहरण की कोशिश करते हैं।
आप विभिन्न डेटाबेस का उपयोग करते हैं और आपको उनके साथ काम करने के लिए अमूर्त कक्षाओं को लागू करने की आवश्यकता होती है। आप अपनी कक्षा को डीबी विक्रेता से कुछ कक्षा में पास करेंगे।
public abstract class SuperDatabaseHelper
{
void Connect (string User, string Password)
}
public abstract class HiperDatabaseHelper
{
void Connect (string Password, string User)
}
एकाधिक वंशानुक्रम, आप कहते हैं? उपरोक्त मामले के साथ कोशिश करें। आप नहीं कर सकते। कंपाइलर को पता नहीं चलेगा कि आप किस कनेक्ट विधि को कॉल करने का प्रयास कर रहे हैं।
interface ISuperDatabaseHelper
{
void Connect (string User, string Password)
}
interface IHiperDatabaseHelper
{
void Connect (string Password, string User)
}
अब, कुछ ऐसा है जिससे हम काम कर सकते हैं - कम से कम C # में - जहाँ हम इंटरफेस को स्पष्ट रूप से लागू कर सकते हैं।
public class MyDatabaseHelper : ISuperDatabaseHelper, IHiperDatabaseHelper
{
IHiperDataBaseHelper.Connect(string Password, string User)
{
//
}
ISuperDataBaseHelper.Connect(string User, string Password)
{
//
}
}
निष्कर्ष
उदाहरण सबसे अच्छे नहीं हैं, लेकिन मुझे लगता है कि यह इस बिंदु पर पहुंच जाता है।
जब आप उनकी आवश्यकता महसूस करेंगे तो आप केवल "इंटरफेस" प्राप्त करेंगे। जब तक आप सोचेंगे कि वे आपके लिए नहीं हैं।