Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # में इंटरफेस कैसे काम करते हैं?

एक इंटरफ़ेस एक अनुबंध को परिभाषित करता है जिसे किसी वर्ग या संरचना द्वारा कार्यान्वित किया जाएगा। इसमें विधियाँ, गुण, घटनाएँ और अनुक्रमणिकाएँ हो सकती हैं। एक इंटरफ़ेस एक वर्ग के समान होता है, सिवाय इसके कि इसमें कोई डेटा नहीं होता है और केवल उस व्यवहार को निर्दिष्ट करता है जो वह कर सकता है (या अधिक सटीक रूप से, वह वर्ग जो इसे लागू करता है)।

एक वर्ग एक या अधिक इंटरफेस लागू कर सकता है। एक इंटरफ़ेस सदस्य को लागू करने के लिए, कक्षा में इंटरफ़ेस सदस्य के समान विधि परिभाषा के साथ एक सार्वजनिक सदस्य होना चाहिए, यानी समान नाम और हस्ताक्षर।

उदाहरण के लिए, IComparer System.Collections नाम स्थान में परिभाषित एक इंटरफ़ेस है जो दो वस्तुओं की तुलना करने वाली विधि के लिए अनुबंध को परिभाषित करता है। कार वर्ग IComparer इंटरफ़ेस लागू करता है

public interface IDriver{
   void Drive();
}
public class Car : IDriver{
   public string Name { get; set; }

   public int Speed { get; set; }
   public void Drive(){
      Console.WriteLine($"{Name}: {Speed}");
   }
}

एक इंटरफ़ेस पर सभी सदस्य निहित रूप से सार हैं और उनके पास कोई कार्यान्वयन विवरण नहीं है। सभी इंटरफ़ेस सदस्य सार्वजनिक हैं। आप किसी इंटरफ़ेस सदस्य के साथ एक्सेस संशोधक का उपयोग नहीं कर सकते। इंटरफ़ेस को लागू करने वाले वर्ग को इंटरफ़ेस को लागू करने वाली सार्वजनिक विधियाँ प्रदान करनी चाहिए।

एक इंटरफ़ेस अन्य इंटरफ़ेस का विस्तार कर सकता है, उदाहरण के लिए -

public interface IPerformer { void Perform(); }
public interface ISinger : IPerformer{
   void Sing();
}

इंटरफेस आपको कक्षा में एकाधिक स्रोतों से व्यवहार शामिल करने की अनुमति देता है। चूंकि C#, C++ जैसे कई इनहेरिटेंस की अनुमति नहीं देता है, इंटरफ़ेस C# में मल्टीपल इनहेरिटेंस हासिल करने का एक तरीका है।

इंटरफेस की एक खामी यह है कि जब आप एपीआई को उजागर करने के लिए उनका उपयोग करते हैं तो वे कक्षाओं की तुलना में कम लचीले होते हैं। जब आप किसी इंटरफ़ेस का अनुबंध बदलते हैं, तो उस इंटरफ़ेस को लागू करने वाले सभी वर्ग टूट जाते हैं और इंटरफ़ेस को लागू करने के लिए अपडेट करने की आवश्यकता होती है।

उदाहरण

using System;
class Program{
   static void Main(){
      var carOne = new Car { Name = "Honda", Speed = 100 };
      var carTwo = new Car { Name = "Toyota", Speed = 70 };
      carOne.Drive();
      carTwo.Drive();
   }
}
public interface IDriver{
   void Drive();
}
public class Car : IDriver{
   public string Name { get; set; }
   public int Speed { get; set; }
   public void Drive(){
      Console.WriteLine($"{Name}: {Speed}");
   }
}

आउटपुट

Honda: 100
Toyota: 70

  1. वाई-फाई एक्सटेंडर कैसे काम करते हैं?

    एक वाई-फाई एक्सटेंडर वही करता है जो उसका नाम आपको बताता है:यह आपके वाई-फाई सिग्नल को आपके घर के अधिक क्षेत्रों में इंटरनेट का उपयोग करने में मदद करने के लिए बढ़ाता है। यदि आप एक विशाल स्थान पर रहते हैं या काम करते हैं, एक में कई मंजिलें हैं या एक मोटी दीवारों या अन्य अवरोधों के साथ है, तो एक वाई-फाई

  1. YouTube चैनल की सदस्यता कैसे काम करती है?

    YouTube सदस्यता प्रशंसकों के लिए स्वचालित मासिक दान करने के लिए अपने पसंदीदा YouTube चैनलों का समर्थन करने का एक तरीका है। सदस्यता YouTubers को वित्तीय सहायता प्रदान करती है और उन्हें पूर्णकालिक वीडियो बनाने में मदद करती है। इसके अलावा, सदस्यों को YouTube लाइव चैट के लिए सिर्फ़ सदस्यों के लिए पोस्ट

  1. डेटा स्क्रैपिंग कैसे काम करता है?

    चूंकि आप इसे पढ़ रहे हैं, इसलिए एक अच्छा मौका है कि आपने डेटा स्क्रैपिंग के लाभों के बारे में सुना होगा और इसकी स्वचालित तकनीक से आप स्वयं मैन्युअल कार्य किए बिना बहुत सारा डेटा एकत्र कर सकते हैं। लेकिन डेटा स्क्रैपिंग बिल्कुल कैसे काम करता है? और क्या यह मुश्किल है, या क्या कोई डेटा स्क्रैप करना