Die häufigste Deklarationszusammenführung in TS (Schnittstellenzusammenführung)

Die häufigste Deklarationszusammenführung in TS (Schnittstellenzusammenführung)

Vorwort:

Worüber ich heute sprechen möchte, hängt immer noch mit TS zusammen. Die häufigste Deklarationszusammenführung in TS: Schnittstellenzusammenführung

Bevor wir über das Zusammenführen von Schnittstellen sprechen, sprechen wir über das Zusammenführen von Deklarationen

Deklarationszusammenführung:

Was ist eine Deklarationszusammenführung?

Tatsächlich ist es leicht zu verstehen, dass das Zusammenführen von Deklarationen in TS bedeutet, dass der Compiler Deklarationen mit demselben Namen zu einer Deklaration zusammenführt.

Das Ergebnis der Fusion:

Die zusammengeführte Erklärung weist die Merkmale von zwei oder mehr Originalerklärungen auf.

zweifeln:
Worauf beziehen sich diese beiden oder noch mehr konkret?

Tatsächlich gibt es mehrere Situationen, über die man sprechen muss. Heute werden wir über eine davon sprechen. Die einfachste und häufigste Art der Deklarationszusammenführung ist die Schnittstellenzusammenführung.

1. Schnittstelle zusammenführen

Wir haben gerade gesagt, dass „die zusammengeführte Deklaration die Merkmale von zwei oder mehr Originaldeklarationen aufweisen wird“.

Dasselbe gilt für das Zusammenführen von Schnittstellen, bei dem die Mitglieder beider Parteien in eine Schnittstelle mit demselben Namen eingefügt werden.

Es ist zu beachten, dass die Mitglieder in der Schnittstelle Funktionsmitglieder und Nichtfunktionsmitglieder umfassen und die Situation unterschiedlich ist

1.1 Mitglieder ohne Funktion

Zum Beispiel:

Schnittstellenbox {
    Höhe: Zahl;
}

Schnittstellenbox {
    Breite: Zahl;
}

let box: Box = {Höhe: 2, Breite: 3};


Im obigen Code werden zwei Schnittstellen mit demselben Namen Box definiert (in der tatsächlichen Entwicklung können sie aus verschiedenen Dateien stammen) und die Inhalte werden schließlich miteinander vermischt.

Es ist jedoch zu beachten, dass die Mitglieder in den oben genannten Fällen eindeutig sind. Wenn jedoch zwei Schnittstellen nichtfunktionale Mitglieder mit demselben Namen deklarieren und ihre Typen unterschiedlich sind, meldet der Compiler einen Fehler.

1.2 Funktionsmitglieder

Für die darin enthaltenen Funktionsmitglieder wird jede Funktionsdeklaration mit demselben Namen als Überladung dieser Funktion behandelt. Und wenn Schnittstelle A mit einer späteren Schnittstelle A zusammengeführt wird, hat die spätere Schnittstelle eine höhere Priorität

Zum Beispiel das offizielle Beispiel:

Schnittstelle Cloner {
    Klon (Tier: Tier): Tier;
}

Schnittstelle Cloner {
    Klon (Tier: Schaf): Schaf;
}

Schnittstelle Cloner {
    Klon (Tier: Hund): Hund;
    Klon (Tier: Katze): Katze;
}


Schließlich werden sie wie folgt zu einer Anweisung zusammengefasst:

Schnittstelle Cloner {
    Klon (Tier: Hund): Hund;
    Klon (Tier: Katze): Katze;
    Klon (Tier: Schaf): Schaf;
    Klon (Tier: Tier): Tier;
}


Zwei Punkte sind zu beachten:

  • Die Deklarationsreihenfolge in jeder Schnittstellengruppe bleibt unverändert
  • Die Reihenfolge zwischen den Schnittstellengruppen ist so, dass die späteren Schnittstellenüberladungen an erster Stelle erscheinen

Es gibt jedoch Ausnahmen: wenn spezielle Funktionssignaturen erscheinen. Wenn ein Parameter in der Signatur einen Typ hat, der ein einzelner Zeichenfolgenliteral ist (also keine Vereinigung von Zeichenfolgenliteralen), wird er an den Anfang der Überladungsliste verschoben.

Dies ist das Ende dieses Artikels über die am häufigsten vorkommende Deklarationszusammenführung (Schnittstellenzusammenführung) in TS. Weitere Informationen zur Schnittstellenzusammenführung in TS finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Drei Möglichkeiten, durch Klicken auf ein Button-Tag in HTML zu einer Seite zu springen

>>:  Docker stellt Mysql, .Net6, Sqlserver und andere Container bereit

Artikel empfehlen

MySQL-Lernnotizen zum Umgang mit doppelten Daten

MySQL verarbeitet doppelte Daten Einige MySQL-Tab...

Lösungen für das Problem der Erstellung von XHTML- und CSS-Webseiten

Die Lösungen für die Probleme, die bei der Erstell...

mysql installer web community 5.7.21.0.msi grafik-tutorial zur installation

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erläuterung der Angular-Strukturdirektivenmodule und -Stile

Inhaltsverzeichnis 1. Strukturelle Anweisungen Mo...

Führen Sie die Schritte zur Installation von MySQL 5.5 auf CentOS aus

Inhaltsverzeichnis 1. Vorbereitung vor der Instal...

So nutzen Sie die Multi-Core-CPU in node.js voll aus

Inhaltsverzeichnis Überblick So nutzen Sie die Mu...

IIS7 IIS8 http springt automatisch zu HTTPS (Port 80 springt zu Port 443)

IIS7 muss bestätigen, ob das pseudostatische Modu...

RHCE installiert Apache und greift mit einem Browser auf IP zu

1. at ist so konfiguriert, dass nach 5 Stunden „D...

Analyse des MySQL-Client-Installationsprozesses auf dem Mac

Versuchen Sie die Installation über Pip in einer ...