C#-Schnittstelle
Schnittstelle definiert den Syntaxvertrag, dem alle Klassen folgen sollten, wenn sie die Schnittstelle erben. Die Schnittstelle definiert den „Was“-Teil des Syntaxvertrags und die abgeleitete Klasse definiert den „Wie“-Teil des Syntaxvertrags.
Schnittstelle definiert Eigenschaften, Methoden und Ereignisse, die Mitglieder der Schnittstelle sind. Die Schnittstelle enthält nur die Deklaration von Mitgliedern. Die Definition der Mitglieder liegt in der Verantwortung der abgeleiteten Klasse. Schnittstellen bieten eine Standardstruktur, der abgeleitete Klassen folgen sollten.
Abstrakte Klassen ähneln in gewissem Maße Schnittstellen, werden jedoch meist nur verwendet, wenn nur wenige Methoden von der Basisklasse deklariert und von der abgeleiteten Klasse implementiert werden.
Deklaration der Schnittstelle
Die Schnittstelle wird mit dem Schlüsselwort interface deklariert, das der Deklaration einer Klasse ähnelt. Schnittstellendeklarationen sind standardmäßig öffentlich. Das Folgende ist ein Beispiel für eine Schnittstellendeklaration:
public interface ITransactions{ // 接口成员 void showTransaction(); double getAmount(); }
Beispiel
Das folgende Beispiel zeigt die Implementierung der obigen Schnittstelle:
using System.Collections.Generic;using System.Linq; using System.Text;using System;namespace InterfaceApplication{ public interface ITransactions { // interface members void showTransaction(); double getAmount(); } public class Transaction : ITransactions { private string tCode; private string date; private double amount; public Transaction() { tCode = " "; date = " "; amount = 0.0; } public Transaction(string c,string d, double a) { tCode = c; date = d; amount = a; } public double getAmount() { return amount; } public void showTransaction() { Console.WriteLine("Transaction: {0}", tCode); Console.WriteLine("Date: {0}", date); Console.WriteLine("Amount: {0}", getAmount()); } } class Tester { static void Main(string[] args) { Transaction t1 = new Transaction("001", "8/10/2012", 78900.00); Transaction t2 = new Transaction("002", "9/10/2012", 451900.00); t1.showTransaction(); t2.showTransaction(); Console.ReadKey(); } } }
Wenn der obige Code wird kompiliert und führt bei der Ausführung zu den folgenden Ergebnissen:
Transaction: 001Date: 8/10/2012Amount: 78900Transaction: 002Date: 9/10/2012Amount: 451900
Das Obige ist der Inhalt der C#-Schnittstelle (Schnittstelle). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.org). .php.cn)!