C# में इंटरफ़ेस क्या है उदाहरण सहित
C# में इंटरफ़ेस क्या है?
An इंटरफेस C# में क्लास के साथ अनुबंध को परिभाषित करने के लिए उपयोग किया जाता है जो इस बात पर एक समझौता है कि क्लास किसी एप्लिकेशन को क्या प्रदान करेगा। इंटरफ़ेस परिभाषित करता है कि क्लास कौन से ऑपरेशन कर सकता है। एक इंटरफ़ेस गुण और विधियों की घोषणा करता है। यह क्लास पर निर्भर करता है कि वह वास्तव में क्या करेगा।
आइए हमारे कंसोल एप्लिकेशन में क्लासेस को बदलकर इंटरफ़ेस का एक उदाहरण देखें। ध्यान दें कि हम कोड नहीं चलाएँगे क्योंकि ऐसा कुछ भी नहीं है जिसे इंटरफ़ेस का उपयोग करके चलाया जा सके।
C# इंटरफ़ेस उदाहरण
आइए एक इंटरफ़ेस क्लास बनाएँ। क्लास का नाम "Guru99Interface" होगा। हमारा मुख्य क्लास तब परिभाषित इंटरफ़ेस का विस्तार करेगा। सभी कोड को Program.cs फ़ाइल में लिखा जाना चाहिए।
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { interface IGuru99Interface { void SetTutorial(int pID, string pName); String GetTutorial(); } class Guru99Tutorial : IGuru99Interface { protected int TutorialID; protected string TutorialName; public void SetTutorial(int pID, string pName) { TutorialID = pID; TutorialName = pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Guru99Tutorial pTutor = new Guru99Tutorial(); pTutor.SetTutorial(1,".Net by Guru99"); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
कोड स्पष्टीकरण:-
यहां, हम कोड के महत्वपूर्ण खंडों की व्याख्या करते हैं
- हम सबसे पहले “Guru99Interface” नामक एक इंटरफ़ेस परिभाषित करते हैं। ध्यान दें कि इंटरफ़ेस को परिभाषित करने के लिए “interface” कीवर्ड का उपयोग किया जाता है।
- इसके बाद, हम उन विधियों को परिभाषित कर रहे हैं जिनका उपयोग हमारे इंटरफ़ेस द्वारा किया जाएगा। इस मामले में, हम वही विधियाँ परिभाषित कर रहे हैं जो पहले के सभी उदाहरणों में उपयोग की गई हैं। ध्यान दें कि इंटरफ़ेस केवल विधियों की घोषणा करता है। यह उनमें कोड को परिभाषित नहीं करता है।
- फिर हम अपने गुरु99ट्यूटोरियल क्लास को इंटरफ़ेस का विस्तार करने देते हैं। यहाँ हम वह कोड लिखते हैं जो इंटरफ़ेस में घोषित विभिन्न विधियों को परिभाषित करता है। इस तरह की कोडिंग निम्नलिखित को प्राप्त करती है
- यह सुनिश्चित करता है कि क्लास, गुरु99 ट्यूटोरियल, केवल वही कोड जोड़े जो "सेट ट्यूटोरियल" और "गेट ट्यूटोरियल" के तरीकों के लिए आवश्यक है, और कुछ नहीं।
- यह यह भी सुनिश्चित करता है कि इंटरफ़ेस एक अनुबंध की तरह व्यवहार करता है। कक्षा अनुबंध का पालन करना होगा। इसलिए यदि अनुबंध कहता है कि इसमें “SetTutorial” और “GetTutorial” नामक दो विधियाँ होनी चाहिए, तो ऐसा ही होना चाहिए।
सारांश
- इंटरफ़ेस एक अनुबंध को परिभाषित करता है जिसका अनुपालन क्लास करेगा। इंटरफ़ेस परिभाषित करता है कि क्लास कौन से ऑपरेशन कर सकता है।