पैरामीटर के रूप में इंटरफ़ेस के साथ एक विधि को परिभाषित करें

Complete

सी # में, इंटरफेस कक्षाओं के लिए एक अनुबंध स्थापित करता है। इस इकाई में, आप अन्वेषण करते हैं कि कैसे विधियाँ इंटरफ़ेस को पैरामीटर के रूप में स्वीकार करती हैं, इन विधियों को परिभाषित करने के लिए सिंटैक्स सीखें, और व्यावहारिक नमूना कार्यान्वयन की समीक्षा करें।

किसी इंटरफ़ेस को स्वीकार करने वाली विधियाँ

सी # में आपके तरीके इंटरफेस को पैरामीटर के रूप में स्वीकार कर सकते हैं ताकि यह सुनिश्चित हो सके कि पारित ऑब्जेक्ट विशिष्ट अनुबंधों का पालन करते हैं। मापदंडों के रूप में इंटरफेस का उपयोग अधिक लचीले और पुन: प्रयोज्य कोड की अनुमति देता है।

उदाहरण के लिए, एक विधि पर विचार करें जो एक पैरामीटर के रूप में एक IAnimal इंटरफ़ेस स्वीकार करता है:

public interface IAnimal
{
    void MakeSound();
}

public void MakeAnimalSound(IAnimal animal)
{
    animal.MakeSound();
}

इस उदाहरण में MakeAnimalSound , विधि एक IAnimal इंटरफ़ेस स्वीकार करती है, यह सुनिश्चित करती है कि इसे पास की गई किसी भी वस्तु में एक MakeSound विधि है।

नोट

विधि मापदंडों के रूप में इंटरफेस का उपयोग ढीला युग्मन को बढ़ावा देता है और testability को बढ़ाता है.

उदाहरण: विधि पैरामीटर के रूप में इंटरफेस

निम्नलिखित उदाहरण में, हमारे पास कई फाइलें हैं जिनमें से प्रत्येक में एक अलग वर्ग या इंटरफ़ेस है। बेहतर संगठन और पठनीयता के लिए आइटम को अलग-अलग फ़ाइलों में रखना आम बात है।

IAnimal.cs

IAnimal.cs फ़ाइल इंटरफ़ेस को परिभाषित करती हैIAnimal, जिसमें एक विधि शामिल है MakeSound

public interface IAnimal
{
    void MakeSound();
}

Dog.cs और Cat.cs

इन फ़ाइलों में AND DogCat क्लासेस होते हैं, जो इंटरफ़ेस को लागू करते हैं IAnimal और विधि प्रदान करते हैं MakeSound

public class Dog : IAnimal
{
    public void MakeSound()
    {
        Console.WriteLine("Woof!");
    }
}

public class Cat : IAnimal
{
    public void MakeSound()
    {
        Console.WriteLine("Meow!");
    }
}

AnimalSound.cs

इस फ़ाइल में AnimalSound क्लास है, जिसमें एक विधि MakeAnimalSound है जो एक पैरामीटर के रूप में इंटरफ़ेस IAnimal स्वीकार करती है और विधि को कॉल करती है MakeSound

public class AnimalSound
{
    public void MakeAnimalSound(IAnimal animal)
    {
        animal.MakeSound();
    }
}

Program.cs

इस फ़ाइल में विधि के Program साथ वर्ग हैMain, जो उदाहरण Dog बनाता है तथा Cat, और उन्हें ध्वनियों का उत्पादन करने के AnimalSound लिए वर्ग का उपयोग करता है।

public class Program
{
    public static void Main()
    {
        IAnimal dog = new Dog();
        IAnimal cat = new Cat();
        
        AnimalSound animalSound = new AnimalSound();
        animalSound.MakeAnimalSound(dog); // Output: Woof!
        animalSound.MakeAnimalSound(cat); // Output: Meow!
    }
}

यह उदाहरण दर्शाता है कि कैसे इंटरफेस विधि मापदंडों के रूप में इस्तेमाल किया जा सकता है, ढीला युग्मन को बढ़ावा देने और testability बढ़ाने. सी # में इंटरफेस की अवधारणा को समझने का यह एक सरल लेकिन प्रभावी तरीका है।