Különbség a Typecript felület és az osztály között

Az interfész meghatározza a struktúrát, amelyet az osztály származtatása követ. Ez egy olyan szerződés, amelyet bármely entitás követ, az Interfész számos dolgot tartalmaz tulajdonságokként és eseményeket, módszereket, és ezeket mind a felület tagjainak hívják. Az interfész ezen tagok egyetlen nyilatkozatát tartalmazza, ezeket a tagokat az interfész Derving osztálya fogja végrehajtani. Az interfész kulcsszója használja a felület deklarálását.

Interfész deklarációs példa.

Szintaxis:

interfész interfész_neve

(

)

felület Munkavállaló (

FIRSTNAME: string,

lastName: string,

sayHello: () => karakterlánc

)

var vevő: Munkavállaló = (

FIRSTNAME:”Tom”,

lastName:”Hanks”

sayHello: (): string => (return “Szia ott”)

)

console.log (“Ügyfél-objektum”)

console.log (customer.firstName)

console.log (customer.lastName)

console.log (customer.sayHello ())

A fenti példa egy interfészt határoz meg. Az ügyfélobjektum Munkavállaló típusú.

Most az objektumra nézve kötelező lesz az összes tulajdonság meghatározása a felület által meghatározottak szerint.

A fordítás során az alábbi JavaScript kódot állítja elő.

// Írta: 1.8.10

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

sayHello: function () (return “Szia ott”; )

);

console.log (“Ügyfél-objektum”);

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

A fenti példakód kimenete: -

Vevői tárgy

Tomi

Hanks

Szia

Az osztály egy objektum terve; ez az objektumorientált programozási nyelv fogalma. Egy osztály biztosítja az OOP beágyazásának jellemzőit. Az adatelemeket, a módszereket és a konstruktorokat egységes egységbe csomagolja, amelyet osztálynak hívnak, és így kapszulákat biztosít. Egy korábbi osztályt a Typescript nem támogatott, a Typescript ES6 verziója támogatta. Az osztály kulcsszó az osztályok létrehozásához használható a Typescript-ben.

Szintaxis:-

osztály osztály_neve (

//csinálni

)

egy osztály adattagokat, metódusokat és konstruktort tartalmaz;

Az adattagokat mezőnek is hívják, ez az Objektum tulajdonságait képviseli, amelyeket egy osztály hoz létre

A megfelelő kötés az objektum állapota, például a toll színe, magassága, a szélességet egy tárgy tulajdonságainak nevezzük.

A módszerek egy objektum viselkedését képviselik, mint például a toll funkciók írása. A kávéfőző különféle típusú kávét készíthet, ezt egy objektum viselkedésének nevezik.

A konstruktorok hozzászoktak egy objektum előállításához egy meghatározott osztályhoz, hogy azt szükség szerint felhasználhassák. Ez az osztály mezőjének inicializálásáért is felelős.

Ezeket a hármat egy osztály tagjának hívják, amelyet osztályokba egy egységekbe foglalnak be.

Vegyünk egy osztály alkalmazottját gépeléssel.

osztály alkalmazott (

)

Összeállításkor a következő JavaScript kódot generálja.

// Írta: 1.8.10

var alkalmazott = (funkció () (

munkavállalói funkció () (

)

munkavállaló visszatérése;

) ());

Példa: Osztály deklarálása

osztály CarDemo (

// mező nyilatkozat

motor: string;

// kivitelező nyilatkozata

kivitelező (motor: húr) (

ez.motor = motor

)

// funkció deklaráció

show (): érvénytelen (

console.log (“Motor:“ + ez.motor ”)

)

)

A fenti példában az osztálynév a CarDemo, amelynek mezőnév-motorral rendelkezik olyan konstruktorral, amely inicializálja a mezőnév-motort, ez a kulcsszó az aktuális osztálypéldányra utal, ezért. motor = motor írva, egyetlen módszernévvel - mutassa meg, hogy melyik mezõértéket adta meg, amelyet a konstruktor inicializált.

A fenti kód összeállításakor a következő JavaScript kód jön létre.

// Írta: 1.8.10

var CarDemo = (function () (

funkció CarDemo (motor) (

ez.motor = motor;

)

CarDemo.prototype.show = function () (

console.log (“Motor:” + ez.motor);

);

vissza CarDemo;

) ());

A fenti osztály példányobjektumainak létrehozása

Az osztály példányának létrehozásához az alkalmazott új kulcsszó, amelyet az osztály neve követ. Ennek szintaxisa az alábbiakban található -

Szintaxis

var objektumnév = új osztálynév ((argumentumok))

Az új kulcsszó felelős a megvalósításért.

A kifejezés jobb oldala felhívja az építőt. A konstruktornak át kell adnia az értékeket, ha paraméterezve van.

/ objektum létrehozása

var obj = új CarDemo („XXSY1”);

// a mező elérése

console.log (“A motor attribútumértékének olvasása:” + obj.engine);

// a funkció elérése

obj.show ();

A fenti kód kimenete a következő:

A motor attribútumértékét XXSY1 formátumban olvassa le

Funkciókijelzők: Motor: XXSY1

Head-to-Head összehasonlítás a Tycript-felület és az osztály között

Az alábbiakban a 4 legfontosabb különbség van a Typescript interfész és az osztály között

Legfontosabb különbségek a Typescript interfész és az osztály között

Mindkét Typescript interfész vs. osztály népszerű választás a piacon; vitassuk meg néhány, a Typescript interfész és az osztály közötti főbb különbséget:

  1. Az interfész határozza meg az interfész osztályának levezetésére szolgáló struktúrákat. egy interfész az egyetlen tagfunkciók deklarációját tartalmazza.
  2. Az osztály felelős az interfész struktúrájának megvalósításáért azáltal, hogy megadja az interfész funkciójának testét. Ez biztosítja a beágyazást az adattagok becsomagolásával, a függvényeket egy osztályba nevezett dobozba helyezi, amely így az OPP-k beágyazási jellemzőit biztosítja.
  3. Az interfész kulcsszó segítségével felületet hozhat létre, amely adattagokat, funkciókat tartalmaz.
  4. Az Osztály kulcsszó az osztály tagjait, funkcióit, konstruktorait tartalmazó osztály létrehozására szolgál.
  5. A felület teljesen eltávolítva a kód összeállítása során. Míg az osztály nem távolítja el a kód fordítása során.
  6. Az egyik interfész kiterjesztheti a másik felületet a kulcsszó kiterjesztésével, így a felület öröklést biztosít. Az interfész nem bővíti az osztályt, hanem meghatározza az osztály szerkezetét. Az interfész több öröklést támogat, több interfész együttes kiterjesztésével.
  7. Az osztály a felületet kulcsszóval valósítja meg, az osztály kibővíthet más osztályt is, kiterjesztve kulcsszóval is, így a gyermekosztály szülőosztályt is használhat. Ezt a funkciót öröklésnek nevezzük, az osztály nem támogatja a több öröklést, mivel egyszerre csak egy felület létezik az osztály által. interfészen keresztül lehetséges.

Typescript interfész és osztály összehasonlítása

Nézzük meg a Typescript interfész és az osztály részletes leírását

A typcript felület és az osztály összehasonlításának alapjai Felület Osztály
MeghatározásAz interfész egy struktúrát határoz meg, amelyet osztály származtatása követ.Az adattagokat, a módszereket és a konstruktorokat egységes egységbe csomagolja, amelyet osztálynak hívnak.
HasználatEntitás struktúrájának létrehozása.Objektum létrehozása, mezők beágyazása, módszer
Valós idejű használatTervezési minta, projekt szerkezetének megtervezéseMeghatározott architektúrák megvalósítása
Létrehozási kulcsszóaz interfész kulcsszója egy interfész létrehozásához használható.az osztály kulcsszója az osztály létrehozásához.

Következtetés - Tipográfiai felület vs osztály

A Typscript interfésznek és az osztálynak egyaránt más célja van a szoftverfejlesztés területén. Az interfész adja az osztály szerkezeti építőelemeit, míg ezeket a szerkezeteket az osztály hajtja végre, amelyen keresztül az osztály tárgya létrejött.

Az interfész segítségével fejlesztjük a szoftver alapvető szerkezetét, amelyet a jövőben egy fejlesztő fejlesztett ki. A Class az interfészt az interfész módszerének egy részével biztosítja. Az interfész létrehozása a szoftverfejlesztés kezdeti szakaszában könnyű, amikor a követelmény nem egyértelmű, mivel rugalmasságot biztosít a változáshoz, mivel azt egy osztály fogja végrehajtani.

Ajánlott cikk

Ez egy útmutató a tippescript interfész és az osztály közötti legfontosabb különbségekhez. Itt is megvitatjuk a Typescript interfész vs az osztály kulcsfontosságú különbségeit az infographics és az összehasonlító táblázat segítségével. Lehet, hogy megnézi a következő cikkeket is -

  1. TypeScript típus vs interfész különbségek
  2. CoffeeScript vs TypeScript
  3. JavaScript vs TypeScript
  4. TypeScript vs Flow, melyik hasznosabb

Kategória: