Unterschied zwischen Typescript-Schnittstelle und Klasse

Eine Schnittstelle definiert die Struktur, nach der die Klasse abgeleitet wird. Es ist ein Vertrag, dem jede Entität folgt. Interface enthält viele Dinge wie Eigenschaften und Ereignisse, Methoden, die alle als Mitglieder des Interfaces bezeichnet werden. Eine Schnittstelle enthält die einzige Deklaration dieser Member. Diese Member werden von der Deriving-Klasse dieser Schnittstelle implementiert. Das Schlüsselwort interface wird zum Deklarieren der Schnittstelle verwendet.

Beispiel für eine Schnittstellendeklaration.

Syntax:

interface schnittstellenname

(

)

Schnittstelle Mitarbeiter (

Vorname: Zeichenfolge,

lastName: string,

sayHello: () => string

)

var customer: Employee = (

Vorname: ”Tom”,

Nachname: ”Hanks”,

sayHello: (): string => ("Hi there" zurückgeben)

)

console.log („Kundenobjekt“)

console.log (customer.firstName)

console.log (customer.lastName)

console.log (customer.sayHello ())

Das obige Beispiel definiert eine Schnittstelle. Das Kundenobjekt ist vom Typ Mitarbeiter.

Es ist nun für das Objekt bindend, alle von der Schnittstelle angegebenen Eigenschaften zu definieren.

Beim Kompilieren wird der folgende JavaScript-Code generiert.

// Erstellt mit Typoskript 1.8.10

var customer = (Vorname: “Tom”, Nachname: “Hanks”,

sayHello: function () (return "Hi there"; )

);

console.log („Kundenobjekt“);

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

Die Ausgabe des obigen Beispielcodes: -

Kundenobjekt

Tom

Hanks

Hallo

Die Klasse ist eine Blaupause für ein Objekt. Es ist das Konzept der objektorientierten Programmiersprache. Eine Klasse bietet Kapselungsfunktionen für OOPs. Datenmember, Methoden und Konstruktoren werden zu einer einzigen Einheit zusammengefasst, die als Klasse bezeichnet wird. Auf diese Weise werden Kapseln bereitgestellt. Eine frühere Klasse wurde von Typescript nicht unterstützt, sie wurde von einer ES6-Version von Typescript unterstützt. Das Schlüsselwort class wird zum Erstellen von Klassen in Typescript verwendet.

Syntax:-

class class_name (

//machen

)

Eine Klasse enthält Datenelemente, Methoden und Konstruktoren.

Datenelemente, die auch als Feld bezeichnet werden, stellen Eigenschaften von Object dar, das von einer Klasse erstellt wird

Eine richtige Bindung ist der Zustand eines Objekts, wie die Farbe, die Höhe und die Breite des Stifts, die als Eigenschaften eines Objekts bezeichnet werden.

Methoden repräsentieren das Verhalten eines Objekts wie das Schreiben mit dem Stift. Kaffeemaschine kann verschiedene Kaffeesorten zubereiten. Dies wird als Verhalten eines Objekts bezeichnet.

Konstruktoren werden verwendet, um ein Objekt für eine definierte Klasse zu generieren, damit es als erforderliche Orte verwendet werden kann. Außerdem ist es für die Initialisierung eines Felds einer Klasse verantwortlich.

Diese drei werden als Mitglied einer Klasse bezeichnet, die von einer Klasse in einer einzelnen Einheit eingekapselt wird.

Betrachten Sie eine Klasse Employee in Typoskript.

Klasse Mitarbeiter (

)

Beim Kompilieren wird der folgende JavaScript-Code generiert.

// Erstellt mit Typoskript 1.8.10

var Employee = (function () (

Funktion Mitarbeiter () (

)

Mitarbeiter zurückgeben;

) ());

Beispiel: Deklaration einer Klasse

Klasse CarDemo (

// Felddeklaration

Motor: Schnur;

// Konstruktordeklaration

Konstruktor (Engine: String) (

this.engine = engine

)

// Funktionsdeklaration

show (): void (

console.log ("Engine ist:" + this.engine)

)

)

In obigem Beispiel ist der Klassenname CarDemo, der eine Feldnamen-Engine mit einem Konstruktor hat, der die Feldnamen-Engine initialisiert. Dieses Schlüsselwort verweist auf die aktuelle Klasseninstanz. engine = Engine geschrieben, mit einzelnem Methodennamen - zeigt an, welcher Feldwert von einem Konstruktor initialisiert wurde.

Beim Kompilieren des obigen Codes wird der folgende JavaScript-Code generiert.

// Erstellt mit Typoskript 1.8.10

var CarDemo = (function () (

Funktion CarDemo (Motor) (

this.engine = engine;

)

CarDemo.prototype.show = function () (

console.log ("Engine is:" + this.engine);

);

return CarDemo;

) ());

Instanzobjekte der obigen Klasse erstellen

Um eine Instanz der Klasse zu erstellen, wird das neue Schlüsselwort gefolgt vom Klassennamen verwendet. Die Syntax dafür ist unten angegeben -

Syntax

var object_name = new class_name ((Argumente))

Das neue Schlüsselwort ist für die Instanziierung verantwortlich.

Die rechte Seite des Ausdrucks ruft den Konstruktor auf. Dem Konstruktor sollten Werte übergeben werden, wenn er parametrisiert ist.

/ ein Objekt erstellen

var obj = neues CarDemo ("XXSY1");

// greife auf das Feld zu

console.log ("Attributwert Engine lesen als:" + obj.engine);

// auf die Funktion zugreifen

obj.show ();

Die Ausgabe des obigen Codes lautet wie folgt:

Attributwert Engine wird als XXSY1 gelesen

Funktionsanzeigen Motor ist: XXSY1

Head-to-Head-Vergleich zwischen Typescript-Schnittstelle und Klasse

Nachfolgend finden Sie die 4 wichtigsten Unterschiede zwischen der Typescript-Schnittstelle und der Klasse

Hauptunterschiede zwischen der Typescript-Schnittstelle und der Klasse

Beide Interfaces und Klassen von Typescript sind auf dem Markt sehr beliebt. Lassen Sie uns einige der Hauptunterschiede zwischen Typescript-Schnittstelle und Klasse diskutieren:

  1. Die Schnittstelle definiert eine Struktur zum Ableiten der Klasse dieser Schnittstelle. Eine Schnittstelle enthält die einzige Deklaration von Elementfunktionen.
  2. Die Klasse ist für die Implementierung der Schnittstellenstruktur verantwortlich, indem sie den Funktionskörper der Schnittstelle angibt. Sie stellt die Kapselung durch Umschließen von Datenelementen bereit und fungiert in einer Box, die als Klasse bezeichnet wird. Auf diese Weise stellt sie Kapselungsfunktionen von OPPs bereit.
  3. Das Schlüsselwort interface wird zum Erstellen einer Schnittstelle verwendet, die Datenelemente und Funktionen enthält.
  4. Mit dem Schlüsselwort class wird eine Klasse erstellt, die Datenelemente, Funktionen und Konstruktoren enthält.
  5. Die Schnittstelle wurde beim Kompilieren des Codes vollständig entfernt. While-Klasse wird beim Kompilieren von Code nicht entfernt.
  6. Eine Schnittstelle kann eine andere Schnittstelle um das Schlüsselwort extend erweitern. Die Schnittstelle übernimmt die Vererbung. Die Schnittstelle erweitert keine Klasse, sondern definiert eine Struktur für die Klasse. Die Schnittstelle unterstützt mehrere Vererbungen, indem mehrere Schnittstellen gemeinsam erweitert werden.
  7. Die Klasse implementiert die Schnittstelle mit dem Schlüsselwort implements. Die Klasse kann andere Klassen erweitern, indem sie ebenfalls das Schlüsselwort extend verwendet. Auf diese Weise kann die untergeordnete Klasse die übergeordnete Klasse verwenden. Diese Funktion wird als Vererbung bezeichnet. Die Klasse unterstützt nicht mehrere Vererbungen, da zu einem Zeitpunkt nur eine Schnittstelle von der Klasse implementiert wird. es ist mit einer schnittstelle möglich.

Vergleich zwischen Typescript-Schnittstelle und Klasse

Schauen wir uns die detaillierte Beschreibung von Typescript Interface vs. Klasse an

Vergleichsbasis zwischen Typescript-Schnittstelle und Klasse Schnittstelle Klasse
DefinitionEine Schnittstelle definiert eine Struktur, nach der die Klasse abgeleitet wird.Es fasst Datenmember sowie Methoden und Konstruktoren in einer einzigen Einheit zusammen, die als Klasse bezeichnet wird.
VerwendungSo erstellen Sie eine Struktur für eine Entität.Objekterstellung, Kapselung für Felder, Methode
EchtzeitnutzungEntwurfsmuster, Projektstruktur entwerfenImplementierungen definierter Architekturen
ErstellungsschlüsselwortDas Schlüsselwort interface wird zum Erstellen einer Schnittstelle verwendet.Das Schlüsselwort class wird zum Erstellen der Klasse verwendet.

Fazit - Typoskript-Schnittstelle vs. Klasse

Typoskript-Schnittstelle gegen Klasse haben beide einen unterschiedlichen Zweck im Bereich der Softwareentwicklung. Die Schnittstelle gibt den strukturellen Baustein für die Klasse an, während diese Struktur von der Klasse implementiert wird, durch die das Objekt der Klasse erstellt wird.

Wir werden die Schnittstelle verwenden, um die Grundstruktur der Software zu entwickeln, die in der Zukunft von einem Entwickler entwickelt wird. Class implementiert die Schnittstelle, indem es einen Körper der Methode der Schnittstelle bereitstellt. Die Erstellung von Schnittstellen ist in einer ersten Phase der Softwareentwicklung einfach, wenn eine Anforderung nicht klar ist, da sie Flexibilität für Änderungen bietet, da sie von einer Klasse implementiert wird.

Empfohlener Artikel

Dies war eine Anleitung zu den wichtigsten Unterschieden zwischen der Typescript-Oberfläche und der Klasse. Hier werden auch die Unterschiede zwischen der Typenskript-Schnittstelle und den Klassenschlüsseln mit Infografiken sowie die Vergleichstabelle erläutert. Sie können auch einen Blick auf die folgenden Artikel werfen -

  1. Unterschiede zwischen TypeScript-Typ und Schnittstelle
  2. CoffeeScript gegen TypeScript
  3. JavaScript vs TypeScript
  4. TypeScript vs Flow Welches ist nützlicher?