Udostępnij za pośrednictwem


Interfejs (C# odniesienia)

Interfejs zawiera tylko podpisy metody, Właściwości, zdarzenia lub indeksatory.Klasy lub struktury, która implementuje interfejs musi implementować członków interfejsu, określonych w definicji interfejsu.W poniższym przykładzie klasy ImplementationClass musi implementować metodę o nazwie SampleMethod , nie ma parametrów i zwraca void.

Aby uzyskać dodatkowe informacje i przykłady, zobacz Interfejsy (Podręcznik programowania C#).

Przykład

interface ISampleInterface
{
    void SampleMethod();
}

class ImplementationClass : ISampleInterface
{
    // Explicit interface member implementation: 
    void ISampleInterface.SampleMethod()
    {
        // Method implementation.
    }

    static void Main()
    {
        // Declare an interface instance.
        ISampleInterface obj = new ImplementationClass();

        // Call the member.
        obj.SampleMethod();
    }
}

Interfejs może należeć do obszaru nazw lub klasy i mogą zawierać podpisy następujących członków:

Interfejs może dziedziczyć po jednej lub kilku interfejsach podstawowych.

Gdy lista typ podstawowy zawiera klasy podstawowej i interfejsów, klasy podstawowej muszą pochodzić na początku listy.

Klasa, która implementuje interfejs jawnie można implementować członków interfejsu.Jawnie wdrażane Członkowskich nie są dostępne za pośrednictwem instancji klasy, ale jedynie za pośrednictwem instancji interfejsu.

Bardziej szczegółowe informacje i przykłady kodu w jawnej implementacji, zobacz Jawne implementacji interfejsu (Podręcznik programowania C#).

Poniższy przykład demonstruje implementacji interfejsu.W tym przykładzie interfejs zawiera deklaracji właściwości i klasa zawiera wykonania.Dowolne wystąpienie klasy, która implementuje IPoint ma właściwości integer x i y.

interface IPoint
{
   // Property signatures:
   int x
   {
      get;
      set;
   }

   int y
   {
      get;
      set;
   }
}

class Point : IPoint
{
   // Fields:
   private int _x;
   private int _y;

   // Constructor:
   public Point(int x, int y)
   {
      _x = x;
      _y = y;
   }

   // Property implementation:
   public int x
   {
      get
      {
         return _x;
      }

      set
      {
         _x = value;
      }
   }

   public int y
   {
      get
      {
         return _y;
      }
      set
      {
         _y = value;
      }
   }
}

class MainClass
{
   static void PrintPoint(IPoint p)
   {
      Console.WriteLine("x={0}, y={1}", p.x, p.y);
   }

   static void Main()
   {
      Point p = new Point(2, 3);
      Console.Write("My Point: ");
      PrintPoint(p);
   }
}
// Output: My Point: x=2, y=3

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka to najlepsze źródło informacji dotyczących składni i zastosowania języka C#.

Zobacz też

Informacje

Słowa kluczowe języka C#

Typy odwołań (C# odniesienia)

Interfejsy (Podręcznik programowania C#)

Za pomocą właściwości (Podręcznik programowania C#)

Za pomocą indeksatory (Podręcznik programowania C#)

Klasa (C# odniesienia)

struct (C# odniesienia)

Interfejsy (Podręcznik programowania C#)

Koncepcje

Podręcznik programowania C#

Inne zasoby

C# odniesienia