Heim > Backend-Entwicklung > C#.Net-Tutorial > Wie verwende ich Schnittstellenreferenzen in C#?

Wie verwende ich Schnittstellenreferenzen in C#?

WBOY
Freigeben: 2023-09-13 16:01:02
nach vorne
1623 Leute haben es durchsucht

Wie verwende ich Schnittstellenreferenzen in C#?

C# ist eine objektorientierte Programmiersprache, die einzigartige Funktionen namens Schnittstellen bietet. Sie ermöglichen es Ihnen, eine Reihe von Eigenschaften und Methoden zu deklarieren, die eine Klasse implementieren muss, ohne die spezifischen Details zu erwähnen, wie sie implementiert werden sollen.

Die Möglichkeit, Code zu schreiben, der unabhängig von den Implementierungsdetails einer Klasse ist, ist einer der Hauptvorteile von Schnittstellen. Jedes Objekt einer beliebigen Klasse, die die Schnittstelle implementiert, kann mithilfe einer Schnittstellenreferenz referenziert werden.

Somit ist es einfacher, zwischen verschiedenen Klassenimplementierungen zu wechseln, ohne den Code zu ändern, der die Klasse verwendet.

Syntax zum Definieren von Schnittstellen in C#

In C# können Sie das Schlüsselwort „interface“ und den Schnittstellennamen verwenden, um eine Schnittstelle zu definieren. Wie das folgende Beispiel zeigt, kann eine Schnittstellendefinition Methoden, Eigenschaften, Ereignisse und Indexer enthalten –

interface  <interface_name> {
   // declare Events
   
   // declare properties
   
   // declare indexers
   
   // declare methods 
}
Nach dem Login kopieren
  • Doppelpunkt-Operator – Die Syntax zum Implementieren einer Schnittstelle besteht aus dem Doppelpunkt-Operator (:), gefolgt vom Namen der zu implementierenden Schnittstelle.

  • Eigenschaften – Eigenschaften sind Werte in einer Schnittstelle

  • Methoden- Methoden sind Funktionen in Schnittstellen

Beispiel

In diesem Beispiel definieren wir die Schnittstelle Shape mit der Methode CalArea(). Berechnen Sie die Fläche einer Form. Dazu definieren wir eine Klasse Circle, die die Shape-Schnittstelle implementiert und eine Implementierung für die von dieser Schnittstelle verwendete CalArea()-Methode bereitstellt.

Algorithmus

  • Schritt 1 - Definieren Sie im ersten Schritt die Schnittstelle mit den erforderlichen Methoden und Eigenschaften. Sie können beim Definieren einer Schnittstelle Eigenschaften, Methoden, Ereignisse und Indexer einbeziehen.

  • Schritt 2 – Als nächstes erstellen Sie eine Klasse, die die Schnittstelle implementiert.

  • Schritt 3 – Erstellen Sie eine Referenzvariable vom Schnittstellentyp.

  • Schritt 4 – Instanziieren Sie die Klasse und weisen Sie das Objekt der Referenzvariablen zu.

  • Schritt 5 – Verwenden Sie schließlich die Schnittstellenreferenz, um die in der Schnittstelle definierten Methoden und Eigenschaften aufzurufen.

using System;
interface Shape {
   double CalArea();
}
class Circle : Shape {
   private double radius;
   public Circle(double r) {
      radius = r;
   }
   public double GetArea() {
      return 3.14 * radius * radius;
   }
}
class Program {
   static void Main(string[] args) {
      Shape shapeRefr;
      Circle Obj = new Circle(5);
      shapeRefr = Obj;
      Console.WriteLine("Area of the circle is " + shapeRefr.CalArea());
   }
}
Nach dem Login kopieren

Ausgabe

Area of the circle is 78.5
Nach dem Login kopieren

Beispiel

In diesem Beispiel berechnen wir die Punktzahl des Schülers in 4 Fächern und den Prozentsatz der Gesamtpunktzahl. In diesem Beispiel initialisieren wir eine Schnittstelle mit zwei Methoden.

Algorithmus

  • Schritt 1 - Definieren Sie im ersten Schritt eine Schnittstelle mit den erforderlichen 2 Methoden: eine zur Berechnung von Brüchen und eine andere zur Berechnung von Prozentsätzen.

  • Schritt 2 – Als nächstes erstellen Sie eine Klasse, die die Schnittstelle implementiert.

  • Schritt 3 – Erstellen Sie eine Referenzvariable vom Schnittstellentyp.

  • Schritt 4 – Instanziieren Sie die Klasse und weisen Sie das Objekt der Referenzvariablen zu.

  • Schritt 5 – Verwenden Sie schließlich die Schnittstellenreferenz, um die in der Schnittstelle definierten Methoden und Eigenschaften aufzurufen.

using System;
interface Olevel   //create interface {
   double marks();
   double percentage();
}
class Result : Olevel  //create class {
   private double Math;
   private double Science;
   private double English;
   private double Computer;
   public Result(double math, double science, double english, double computer) {
      this.Math = math;
      this.Science = science;
      this.English = english;
      this.Computer = computer;
   }

   //create methods
   public double marks() {
      double mrks;
      mrks= Math+Science+English+Computer;
      return mrks;
   }
   public double percentage() {
      double x= Math+Science+English+Computer;
      return (x/400) * 100;
   }
}
class Program {
   static void Main(string[] args) {
      Result result = new Result(90, 95, 93, 98);

      // Create an interface reference variable and assign the instance of result class to it
      Olevel olev = result;
      Console.WriteLine("The Total marks of the student out of 400 are: " + result.marks());
      Console.WriteLine("The percentage of the student is: " + result.percentage());
   }
}
Nach dem Login kopieren

Ausgabe

The Total marks of the student out of 400 are: 376
The percentage of the student is: 94
Nach dem Login kopieren

Fazit

Schließlich stellen Schnittstellenreferenzen in C# einen leistungsstarken Mechanismus für Ihren Code bereit. Sie können Code mit jedem Objekt erstellen, das diese Schnittstelle unterstützt, unabhängig von seiner spezifischen Klasse.

Das obige ist der detaillierte Inhalt vonWie verwende ich Schnittstellenreferenzen in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage