Skillnad mellan Typescript-gränssnitt kontra klass

Ett gränssnitt definierar strukturen som följs av att härleda klass. Det är ett kontrakt som följs av alla enheter, gränssnittet innehåller många saker som egenskaper och händelser, metoder, och dessa kallas alla som medlemmar i gränssnittet. Ett gränssnitt innehåller den enda deklarationen från dessa medlemmar, dessa medlemmar kommer att implementeras av Deriving-klassen för det gränssnittet. Gränssnittsnyckelord används för att deklarera gränssnittet.

Exempel på gränssnittsdeklaration.

Syntax:

gränssnitt gränssnittsnamn

(

)

gränssnitt anställd (

Förnamn: string,

Efternamn: string,

sayHello: () => sträng

)

var kund: Anställd = (

Förnamn:”Tom”,

Efternamn:”Hanks”,

sayHello: (): string => (returnera "Hej där")

)

console.log (“Kundobjekt”)

console.log (customer.firstName)

console.log (customer.lastName)

console.log (customer.sayHello ())

Ovanstående exempel definierar ett gränssnitt. Kundobjektet är av typen anställd.

Det kommer nu att vara bindande för objektet att definiera alla egenskaper som specificeras av gränssnittet.

Vid sammanställning kommer den att generera följande JavaScript-kod som anges nedan.

// Genereras av typskript 1.8.10

var customer = (firstName: “Tom”, lastName: “Hanks”,

sayHello: funktion () (returnera "Hej där"; )

);

console.log (“Kundobjekt”);

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

Utgången från ovanstående exempelkod: -

Kundobjekt

Tom

Hanks

Hallå där

Klassen är en plan för ett objekt; det är begreppet objektorienterat programmeringsspråk. En klass ger inkapslingsfunktion för OOP: er. Det lindar datamedlemmar och metoder och konstruktörer till en enda enhet som kallas klassen, på det sättet ger det kapslingar. En tidigare klass stöds inte av Typescript, den fick stöd från en ES6-version av Typescript. Klassnyckelord används för att skapa klasser i Typescript.

Syntax:-

klass klassnamn (

//att göra

)

en klass innehåller datamedlemmar, metoder och konstruktör;

Datamedlemmar kallas också som ett fält, det representerar egenskaper hos Objekt som skapas av en klass

Ett ordentligt band är ett objekts tillstånd, som Penns färg, höjd, bredden kallas för ett objekt.

Metoder representerar beteendet hos ett objekt som penna-funktionalitet skriver, Kaffemaskin kan göra olika typer av kaffe detta kallas ett beteende hos ett objekt.

Konstruktörer är vana att generera ett objekt för definierad klass, så att det kan användas som krävs platser.Det är också ansvarigt för att initialisera ett fält i en klass.

Dessa alla tre kallas en medlem av en klass som är inkapslad av klass i en enda enhet.

Betrakta en klass anställd i typskript.

klass anställd (

)

Vid sammanställning genererar den följande JavaScript-kod.

// Genereras av typskript 1.8.10

var Anställd = (funktion () (

funktion Anställd () (

)

återvändande anställd;

) ());

Exempel: Förklara en klass

klass CarDemo (

// fältdeklaration

motor: string;

// konstruktörsdeklaration

konstruktör (motor: snöre) (

this.engine = motor

)

// funktionsdeklaration

visa (): ogiltig (

console.log (“Engine is:“ + this.engine)

)

)

I ovanstående exempel är klassnamnet CarDemo, med fältnamnsmotor med konstruktör som initialiserar fältnamnsmotorn, detta sökord hänvisar till aktuell klassinstans, det är därför detta. motor = motor skriven, med en enda metodnamn - visa vilket visar fältvärde som blev initialiserat av en konstruktör.

Sammanställning av ovanstående kod kommer att generera följande JavaScript-kod.

// Genereras av typskript 1.8.10

var CarDemo = (funktion () (

funktion CarDemo (motor) (

detta.engine = motor;

)

CarDemo.prototype.show = funktion () (

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

);

tillbaka CarDemo;

) ());

Skapa instansobjekt av ovanstående klass

För att skapa en instans av klassen, det nya nyckelordet som används följt av klassnamnet. Syntaxen för samma anges nedan -

Syntax

var object_name = nytt klassnamn ((argument))

Det nya nyckelordet ansvarar för inställning.

Höger sida av uttrycket påkallar konstruktören. Konstruktören ska ges värden om den är parametrerad.

/ skapa ett objekt

var obj = new CarDemo (“XXSY1”);

// åtkomst till fältet

console.log ("Läs attributvärde Motor som:" + obj.engine);

// åtkomst till funktionen

obj.show ();

Utgången från ovanstående kod är följande:

Läsattributvärde Motor som XXSY1

Funktionsdisplay Motorn är: XXSY1

Head to Head-jämförelse mellan Typescript-gränssnitt kontra klass

Nedan visas de 4 bästa skillnaderna mellan Typescript-gränssnitt kontra klass

Viktiga skillnader mellan Typescript-gränssnitt kontra klass

Båda gränssnittet Typskript vs klass är populära val på marknaden; låt oss diskutera några av de stora skillnaderna mellan Typescript-gränssnittet vs klass:

  1. Gränssnittet definierar strukturerat för att härleda klass för det gränssnittet. ett gränssnitt innehåller den enda deklarationen om medlemsfunktioner.
  2. Klassen ansvarar för att implementera gränssnittsstrukturen genom att ange gränssnittets funktion, det tillhandahåller inkapsling genom inpackning av datamedlemmar, funktioner i en ruta som kallas som en klass på detta sätt den ger inkapslingsfunktioner för OPP: er.
  3. Gränssnittsnyckelord används för att skapa gränssnitt det innehåller datamedlemmar, funktioner.
  4. Klassnyckelord används för att skapa en klass som innehåller datamedlemmar, funktioner, konstruktörer.
  5. Gränssnittet avlägsnas helt under kodens sammanställning. Medan klassen inte tar bort under sammanställning av kod.
  6. Ett gränssnitt kan utöka ett annat gränssnitt genom att utöka nyckelord på detta sätt gränssnitt ger arv. Gränssnittet förlänger inte en klass, det definierar en struktur för klassen. Gränssnittet stöder flera arv genom att utöka flera gränssnitt tillsammans.
  7. Klassen implementerar gränssnittet genom att implementera nyckelord, klass kan utöka annan klass också genom att använda utökar nyckelord på detta sätt som barnklass kan använda föräldraklass. Denna funktion kallas arv, klass stöder inte flera arv eftersom i taget endast ett gränssnitt implementerat av klass. det är möjligt med ett gränssnitt.

Jämförelse mellan Typescript-gränssnitt kontra klass

Låt oss undersöka den detaljerade beskrivningen av Typescript-gränssnittet mot klassen

Basen för jämförelse mellan typskriptgränssnitt kontra klass Gränssnitt Klass
DefinitionEtt gränssnitt definierar en struktur som följs av att härleda klass.Det lindar datamedlemmar och metoder och konstruktörer till en enda enhet som kallas en klass.
AnvändandeAtt skapa en struktur för en enhet.Skapa objekt, Inkapsling för fält, metod
Användning i realtidDesignmönster, designa projektstrukturImplementering av definierade arkitekturer
Skapa nyckelordgränssnitt nyckelord används för att skapa ett gränssnitt.klass sökord används för att skapa klassen.

Slutsats - Gränssnitt för typscript kontra klass

Typskriptgränssnitt kontra klass har båda ett annat syfte inom mjukvaruutvecklingsområdet. Gränssnittet ger den strukturella byggstenen för klassen, medan dessa strukturer implementeras av klassen genom vilken objektet i klassen skapades.

Vi kommer att använda gränssnittet för att utveckla den grundläggande strukturen för mjukvara som utvecklas i framtiden av en utvecklare, Class implementerar gränssnittet genom att tillhandahålla en grupp av gränssnittsmetoden. Gränssnittskapning är lätt i en inledande fas av mjukvaruutvecklingen när ett krav inte är tydligt eftersom det ger flexibilitet att ändra, eftersom det kommer att implementeras av en klass.

Rekommenderad artikel

Detta har varit en guide till de bästa skillnaderna mellan Typescript-gränssnittet mot klassen. Här diskuterar vi också Typescript-gränssnittet mot klassens viktiga skillnader med infografik och jämförelsetabell. Du kan också titta på följande artiklar -

  1. TypeScript Type vs Interface Differences
  2. CoffeeScript vs TypeScript
  3. JavaScript vs TypeScript
  4. TypeScript vs Flow Vilken som är mer användbar

Kategori: