शायद एक कोड उदाहरण मदद करेगा, मैं C # का उपयोग करने जा रहा हूं, लेकिन आपको साथ चलने में सक्षम होना चाहिए।
आइए दिखाते हैं कि हमारे पास एक इंटरफ़ेस है जिसे IPayable कहा जाता है
public interface IPayable
{
public Pay(double amount);
}
अब, हमारे पास दो ठोस वर्ग हैं जो इस इंटरफ़ेस को लागू करते हैं:
public class BusinessAccount : IPayable
{
public void Pay(double amount)
{
//Logic
}
}
public class CustomerAccount : IPayable
{
public void Pay(double amount)
{
//Logic
}
}
अब, दिखावा करते हैं कि हमारे पास विभिन्न खातों का एक संग्रह है, ऐसा करने के लिए हम IPayable प्रकार की एक सामान्य सूची का उपयोग करेंगे
List<IPayable> accountsToPay = new List<IPayable>();
accountsToPay.add(new CustomerAccount());
accountsToPay.add(new BusinessAccount());
अब, हम उन सभी खातों में $ 50.00 का भुगतान करना चाहते हैं:
foreach (IPayable account in accountsToPay)
{
account.Pay(50.00);
}
तो अब आप देखते हैं कि कैसे इंटरफेस अविश्वसनीय रूप से उपयोगी हैं।
उनका उपयोग केवल तात्कालिक वस्तुओं पर किया जाता है। स्थिर वर्गों पर नहीं।
यदि आपने भुगतान स्थिर कर दिया है, तो जब IPayable के खातों के माध्यम से लूपिंग की जाती है, तो यह पता लगाने का कोई तरीका नहीं होगा कि उसे BusinessAcount या CustomerAccount पर भुगतान करना चाहिए या नहीं।