Unterschied zwischen Schnittstelle und Klasse

Klasse
Class ist ein benutzerdefinierter Datentyp, der die Gruppierung von Datenmitgliedern, Methoden, Eigenschaften und Ereignissen ermöglicht. Eine Klasse ist nichts anderes als ein Bauplan, der Daten und Verhalten definiert. Objekte sind Instanzen einer Klasse. In C # werden Klassen mit dem Schlüsselwort "class" definiert, gefolgt von dem Klassennamen, der den Hauptteil einer Klasse enthält, die von geschweiften Klammern umgeben ist. Jede Klasse hat einen Konstruktor, der denselben Namen wie die Klasse hat und zum Zeitpunkt des Instanziierens einer Klasse automatisch aufgerufen wird.

Beispiel für eine Klasse in C #

1234567891011121314 using System; Namespace MyShapes Klasse Shapes öffentliche doppelte Länge; öffentliche doppelte Breite; int calArea () int area = Länge * Breite; .........

Schnittstelle
Eine Schnittstelle enthält nur die Signatur von Elementen: Methoden, Eigenschaften, Ereignisse oder Indexer. Es enthält keine Definition dieser Mitglieder. Es ist Sache der Klasse, die diese Schnittstelle ableitet, um die Definition dieser Member zu schreiben. Es ist für eine Klasse zwingend erforderlich, alle Mitglieder der Schnittstelle zu implementieren.

Beispiel für eine Schnittstelle in C #:

1234567891011121314151617181920212223 Namespace MyCalculator interface Calculate int add (); int subtract (); class CalculatorImplementer: Berechnen Sie ........... int überschreiben add () int a = 10, b = 5, c; c = a + b; int override subtract ( ) int a = 20, b = 10, c; c = ab; .........

Im obigen Beispiel implementiert die Klasse CalculatorImplementer die in der Calculate-Schnittstelle deklarierten Methoden add () und subtract ().

Unterschied zwischen Schnittstelle und Klasse

  1. Eine Klasse kann Datenelemente und Methoden mit der vollständigen Definition enthalten. Eine Schnittstelle enthält die einzige Signatur von Mitgliedern.
  2. Eine Klasse kann nur von einer einzelnen Klasse geerbt werden, sie kann jedoch von mehreren Schnittstellen geerbt werden.
  3. Schnittstellen werden immer implementiert, während Klassen erweitert werden.
  4. Klassen repräsentieren das „reale Objekt“ und erledigen die gesamte Arbeit. Über Schnittstellen können Sie ein Programm erstellen, das die Klasse auf vordefinierte Weise bearbeitet.
ES