Forskjell mellom Typescript-grensesnitt kontra klasse

Et grensesnitt definerer strukturen som blir fulgt av å avlede klasse. Det er en kontrakt som følges av enhver enhet, grensesnitt inneholder mange ting som egenskaper, hendelser, metoder, og disse kalles alle som medlemmer av grensesnittet. Et grensesnitt inneholder den eneste erklæringen fra disse medlemmene. Disse medlemmene vil bli implementert av Deriving-klassen for det grensesnittet. Grensesnitt nøkkelord brukes til å erklære grensesnittet.

Eksempel på grensesnittdeklarasjon.

syntaks:

grensesnitt grensesnittnavn

(

)

grensesnitt Ansatt (

fornavn: string,

lastname: string,

sayHello: () => streng

)

var kunde: Ansatt = (

fornavn:”Tom”,

Etternavn:”Hanks”,

sayHello: (): string => (return “Hei det”)

)

console.log (“Kundeobjekt”)

console.log (customer.firstName)

console.log (customer.lastName)

console.log (customer.sayHello ())

Over eksemplet definerer et grensesnitt. Kundeobjektet er av typen Medarbeider.

Det vil nå være bindende for objektet å definere alle egenskaper som spesifisert av grensesnittet.

Ved sammenstilling vil den generere følgende JavaScript-kode gitt nedenfor.

// Generert av typeskrift 1.8.10

var kunde = (fornavn: "Tom", etternavn: "Hanks",

sayHello: funksjon () (return “Hei der”; )

);

console.log (“kundeobjekt”);

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

Utgangen fra eksemplet ovenfor:

Kundeobjekt

Tom

Hanks

Hei der

Klassen er en blåkopi for et objekt; det er begrepet Objektorientert programmeringsspråk. En klasse gir innkapslingsfunksjon for OOP-er. Den pakker datamedlemmer og -metoder og konstruktører til en enhet som kalles klassen, på denne måten gir den innkapslinger. En tidligere klasse ble ikke støttet av Typescript, den fikk støtte fra en ES6-versjon av Typescript. Klassesøkkelord brukes til å lage klasser i Typescript.

Syntax: -

klasse class_name (

//å gjøre

)

en klasse inneholder datamedlemmer, metoder og konstruktør;

Data medlemmer også kalt som et felt, det representerer egenskaper til Object som er opprettet av en klasse

Et ordentlig slips er tilstanden til et objekt, som Pens farge, høyde, bredden vil bli kalt som egenskaper til et objekt.

Metoder representerer oppførselen til et objekt som pennfunksjonalitet skriver, kaffemaskin kan lage forskjellige typer kaffe dette kalles som en oppførsel til et objekt.

Konstruktører er vant til å generere et objekt for definert klasse, slik at det kan brukes som påkrevde steder.Det er også ansvarlig for å initialisere et felt i en klasse.

Disse tre kalles et medlem av en klasse som er innkapslet av klasse i en enkelt enhet.

Tenk på en klasse ansatt i typeskrift.

klasse ansatt (

)

Ved samlingen vil den generere følgende JavaScript-kode.

// Generert av typeskrift 1.8.10

var Ansatt = (funksjon () (

funksjon Ansatt () (

)

tilbake Ansatt;

) ());

Eksempel: Å erklære en klasse

klasse CarDemo (

// felterklæring

Motoren: string;

// konstruktørerklæring

konstruktør (motor: streng) (

dette.motor = motor

)

// funksjonserklæring

vis (): ugyldig (

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

)

)

I eksemplet ovenfor er klassens navn CarDemo, har feltnavnmotor som har konstruktør som initialiserer feltnavnmotoren, dette nøkkelordet refererer til gjeldende klasseforekomst, det er derfor dette. motor = motor skrevet, med en enkelt metodenavn - vis hvilken viser feltverdi som ble initialisert av en konstruktør.

Sammenstilling av koden ovenfor vil den generere følgende JavaScript-kode.

// Generert av typeskrift 1.8.10

var CarDemo = (funksjon () (

funksjon CarDemo (motor) (

dette.motor = motor;

)

CarDemo.prototype.show = funksjon () (

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

);

returner CarDemo;

) ());

Opprette forekomstobjekter av over klassen

For å opprette en forekomst av klassen, brukes det nye nøkkelordet etterfulgt av klassens navn. Syntaks for det samme er gitt nedenfor -

syntax

var object_name = nytt klassesnavn ((argumenter))

Det nye nøkkelordet er ansvarlig for instantiation.

Høyresiden av uttrykket påkaller konstruktøren. Konstruktøren skal overføres verdier hvis den er parameterisert.

/ opprette et objekt

var obj = new CarDemo (“XXSY1”);

// tilgang til feltet

console.log ("Les attributtverdi Motor som:" + obj.engine);

// få tilgang til funksjonen

obj.show ();

Utdataene fra koden ovenfor er som følger -

Les attributtverdi Motor som XXSY1

Funksjon viser Motoren er: XXSY1

Sammenligning fra topp mot hode mellom Typescript-grensesnitt kontra klasse

Nedenfor er topp 4 forskjell mellom Typescript grensesnitt vs klasse

Viktige forskjeller mellom Typescript-grensesnitt kontra klasse

Begge Typescript-grensesnittet vs klasse er populære valg i markedet; la oss diskutere noen av de viktigste forskjellene mellom Typescript grensesnitt kontra klasse:

  1. Grensesnittet definerer strukturert for å oppnå klasse for det grensesnittet. et grensesnitt inneholder den eneste erklæringen om medlemsfunksjoner.
  2. Klassen er ansvarlig for å implementere grensesnittstrukturen ved å gi kroppen funksjonen til grensesnittet. Den gir innkapsling ved innpakking av datamedlemmer, funksjoner i en boks som kalles en klasse på denne måten den gir innkapslingsfunksjoner for OPPer.
  3. Grensesnitt nøkkelord brukes til å lage grensesnitt det inneholder data medlemmer, funksjoner.
  4. Klassesøkkelord brukes til å lage en klasse som inneholder datamedlemmer, funksjoner, konstruktører.
  5. Grensesnitt helt fjernet under sammenstilling av kode. Mens klassen ikke fjernes under samlingen av koden.
  6. Ett grensesnitt kan utvide et annet grensesnitt ved å utvide søkeord på denne måten grensesnitt gir arv. Grensesnitt utvider ikke en klasse, det definerer en struktur for klassen. Grensesnitt støtter flere arv ved å utvide flere grensesnitt sammen.
  7. Klassen implementerer grensesnittet ved implementering av nøkkelord, klassen kan utvide andre klasser også ved å bruke utvider nøkkelord på denne måten barneklasse kan bruke foreldreklasse denne funksjonen kalles arv, klassen støtter ikke flere arv fordi av gangen bare ett grensesnitt implementert av klasse. det er mulig med et grensesnitt.

Sammenligning mellom Typescript-grensesnitt mot klasse

La oss se nærmere på den detaljerte beskrivelsen av Typescript-grensesnitt kontra klasse

Grunnlag for sammenligning mellom typeskriptgrensesnitt vs klasse Interface Klasse
DefinisjonEt grensesnitt definerer en struktur som blir fulgt av å avlede klasse.Den pakker datamedlemmer og -metoder og konstruktører til en enhet som kalles en klasse.
brukÅ lage en struktur for en enhet.Oppretting av objekter, Innkapsling for felt, metode
Bruk av sanntidDesignmønster, designe prosjektstrukturImplementeringer av definerte arkitekturer
Oppretting nøkkelordgrensesnitt nøkkelord brukes til å lage et grensesnitt.klassesøkkelord brukes til å lage klassen.

Konklusjon - Typescript grensesnitt vs klasse

Typergrensesnitt vs klasse har begge et annet formål innen programvareutviklingsområdet. Grensesnittet gir den strukturelle byggesteinen for klassen, mens denne strukturen implementeres av klassen som objektet av klassen ble opprettet gjennom.

Vi vil bruke grensesnitt for å utvikle grunnleggende struktur for programvare som er utviklet i fremtiden av en utvikler, Class implementerer grensesnittet ved å tilby en oversikt over metoden til grensesnittet. Grensesnittopprettelse er enkelt i en innledende fase av programvareutvikling når et krav ikke er klart fordi det gir fleksibilitet til å endre, fordi det vil bli implementert av en klasse.

Anbefalt artikkel

Dette har vært en guide til de viktigste forskjellene mellom Typescript grensesnitt kontra klasse. Her diskuterer vi også Typescript-grensesnittet vs klassens nøkkelforskjeller med infografikk og sammenligningstabell. Du kan også se på følgende artikler -

  1. TypeScript Type vs Grensesnittforskjeller
  2. CoffeeScript vs TypeScript
  3. JavaScript vs TypeScript
  4. TypeScript vs Flow Hvilken er mer nyttig