Eine Klasse ist eine Spezifikation, wie Objekte aus derselben Klasse zu konstruieren sind. Sie ist eine Art Blaupause oder Prototyp, aus dem einzelne Objekte erstellt werden. Man kann sagen, dass eine Klasse eine Vorlage ist, die die Arten von Zustand und Verhalten beschreibt, die Objekte ihres Typs unterstützen.
Im Sinne der objektorientierten Programmierung (OOP) können wir sagen, dass ein Toyota-Auto eine Instanz der Klasse von Objekten ist, die als Auto bekannt ist. Eine Klasse ist wie der Bauplan für ein Auto. Mit diesem Entwurf können Sie so viele Autos bauen, wie Sie wollen. Jedes Auto, das Sie bauen, ist ein Objekt der Klasse Auto. Jedes Auto hat natürlich auch eine Nummer. Wenn du jemandem sagen willst, welches dein Auto ist, gibst du ihm die Nummer, mit der er es identifizieren kann. Diese Nummer wird Referenz des Objekts genannt.
Eine Schnittstelle bietet einen Vertrag, der festlegt, wie ein Objekt zu erstellen ist, ohne sich um die Einzelheiten zu kümmern, wie sie die Dinge tun. Eine Schnittstelle ist ein Referenztyp und enthält nur abstrakte Mitglieder wie Ereignisse, Methoden, Eigenschaften usw. und hat keine Implementierungen für eines ihrer Mitglieder.
Wenn eine Klasse eine Schnittstelle implementiert, wird sie vom Compiler gezwungen, die Methoden und Eigenschaften zu schreiben, die die Schnittstelle definiert hat. Das heißt, wenn Sie eine Schnittstelle in Ihrer Klasse implementieren, müssen Sie alle Ereignisse, Methoden und Eigenschaften der Schnittstelle in Ihrer Klasse deklarieren. Eine Schnittstelle kann nur abstrakte Methoden und Konstanten haben, die immer implizit öffentlich, statisch und endgültig sind.
Eine Klasse hat sowohl eine Definition als auch eine Implementierung, während eine Schnittstelle nur eine Definition hat.
Eine Klasse kann instanziiert werden, aber eine Schnittstelle kann nicht instanziiert werden Sie können eine Instanz eines Objekts erstellen, das die Schnittstelle implementiert.
Eine Klasse ist eine vollständige Einheit mit Mitgliedern, Methoden zusammen mit ihrer Definition und Implementierung. Eine Schnittstelle ist nur eine Reihe von Definitionen, die Sie in Ihrer Klasse implementieren müssen, die diese Schnittstelle erbt.