Rozdíl mezi rozhraním strojopisu a třídou

Rozhraní definuje strukturu, po které následuje odvozující třída. Jedná se o smlouvu, kterou následuje jakákoli entita. Rozhraní obsahuje mnoho věcí jako vlastnosti a události, metody a to vše se nazývá členy rozhraní. Rozhraní obsahuje jediné prohlášení těchto členů, tyto členy budou implementovány třídou Deriving tohoto rozhraní. Klíčové slovo rozhraní se používá k deklarování rozhraní.

Příklad deklarace rozhraní.

Syntax:

název rozhraní rozhraní

(

)

rozhraní zaměstnanec (

jméno: řetězec,

lastName: string,

sayHello: () => string

)

var zákazník: Zaměstnanec = (

jméno: „Tom“,

lastName: „Hanks“,

sayHello: (): string => (return „Ahoj tam“)

)

console.log („Objekt zákazníka“)

console.log (customer.firstName)

console.log (customer.lastName)

console.log (customer.sayHello ())

Výše uvedený příklad definuje rozhraní. Objekt zákazníka je typu Zaměstnanec.

Nyní bude pro objekt závazné definovat všechny vlastnosti určené rozhraním.

Při kompilaci vygeneruje následující kód JavaScript uvedený níže.

// Vytvořeno strojopisem 1.8.10

var customer = (firstName: "Tom", lastName: "Hanks",

sayHello: function () (návrat „Ahoj tam“; )

);

console.log („Objekt zákazníka“);

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

Výstup výše uvedeného příkladu kódu: -

Objekt zákazníka

Tom

Hanks

Ahoj

Třída je plánem objektu; je to koncept objektově orientovaného programovacího jazyka. Třída poskytuje funkci zapouzdření OOP. Zabaluje datové členy a metody a konstruktéry do jediného sjednocení, které se nazývá třída, čímž poskytuje zapouzdření. Dřívější třída nebyla podporována strojopisem, získala podporu od verze strojopisu ES6. Klíčové slovo class se používá k vytváření tříd v strojopisu.

Syntax:-

class class_name (

//dělat

)

třída obsahuje datové členy, metody a konstruktor;

Datové členy nazývané také jako pole, představují vlastnosti objektu vytvořeného třídou

Správná vazba je stav objektu, jako je Penova barva, výška, šířka bude nazývána jako vlastnost objektu.

Metody představují chování objektu, jako je funkce pera, psaní, Kávovar může vyrábět různé druhy kávy, což se nazývá chování objektu.

Konstruktory se používají ke generování objektu pro definovanou třídu, takže ji lze použít jako požadovaná místa. Je také zodpovědný za inicializaci pole třídy.

Tito všichni tři se nazývají členem třídy, která je zapouzdřena třídou do jediné jednotky.

Zvažte třídu Zaměstnanec v strojopisu.

třída Zaměstnanec (

)

Při kompilaci vygeneruje následující kód JavaScript.

// Vytvořeno strojopisem 1.8.10

var Zaměstnanec = (function () (

function Employee () (

)

návratový zaměstnanec;

) ());

Příklad: Deklarování třídy

třída CarDemo (

// deklarace pole

motor: string;

// prohlášení konstruktoru

konstruktor (motor: řetězec) (

this.engine = motor

)

// deklarace funkce

show (): void (

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

)

)

Ve výše uvedeném příkladu je název třídy CarDemo, který má konstruktér pole, který inicializuje stroj název pole, toto klíčové slovo odkazuje na aktuální instanci třídy, a proto je toto. engine = engine napsaný, s jediným názvem metody - ukazuje, která hodnota pole je inicializována konstruktorem.

Kompilace výše uvedeného kódu vygeneruje následující kód JavaScript.

// Vytvořeno strojopisem 1.8.10

var CarDemo = (function () (

funkce CarDemo (motor) (

this.engine = motor;

)

CarDemo.prototype.show = function () (

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

);

návrat CarDemo;

) ());

Vytváření instance instance nad třídou

Chcete-li vytvořit instanci třídy, nové použité klíčové slovo následované názvem třídy. Syntaxe téhož je uvedena níže -

Syntax

var object_name = new class_name ((argumenty))

Nové klíčové slovo odpovídá za instanci.

Pravá strana výrazu vyvolává konstruktora. Konstruktor by měl být předán hodnotám, pokud je parametrizován.

/ vytvoření objektu

var obj = new CarDemo („XXSY1“);

// přístup do pole

console.log („Čtení hodnoty atributu Engine as:“ + obj.engine);

// přístup k funkci

obj.show ();

Výstup výše uvedeného kódu je následující -

Čtení hodnoty atributu Engine jako XXSY1

Funkční displeje Motor je: XXSY1

Porovnání mezi hlavami mezi rozhraním strojopisu a třídou

Níže je uveden první 4 rozdíl mezi rozhraním Strojopisu a třídou

Klíčové rozdíly mezi rozhraním strojopisu a třídou

Obě rozhraní Strojopisu proti třídě jsou populární volbou na trhu; pojďme diskutovat o některých hlavních rozdílech mezi rozhraním strojopisu a třídou:

  1. Rozhraní definuje strukturu pro odvozování třídy tohoto rozhraní. rozhraní obsahuje jediné prohlášení o členských funkcích.
  2. Třída je zodpovědná za implementaci struktury rozhraní tím, že dává tělu funkci rozhraní. Poskytuje zapouzdření zabalením datových členů, funkce do schránky, která se nazývá jako třída tímto způsobem, poskytuje zapouzdřovací vlastnosti OPP.
  3. Klíčové slovo rozhraní se používá k vytvoření rozhraní, které obsahuje datové členy, funkce.
  4. Klíčové slovo class se používá k vytvoření třídy, která obsahuje datové členy, funkce, konstruktory.
  5. Rozhraní zcela odstraněno během kompilace kódu. Zatímco třída neodstraní během kompilace kódu.
  6. Jedno rozhraní může rozšířit další rozhraní rozšířením klíčového slova tímto způsobem rozhraní poskytuje dědičnost. Rozhraní nerozšiřuje třídu, definuje strukturu třídy. Rozhraní podporuje více dědičností rozšířením více rozhraní dohromady.
  7. Třída implementuje rozhraní pomocí implementuje klíčové slovo, třída může rozšiřovat další třídu také pomocí rozšíření klíčového slova tímto způsobem podřízená třída může používat nadřazenou třídu Tato funkce se nazývá dědičnost, třída nepodporuje více dědičností, protože najednou pouze jedno rozhraní implementované třídou. je to možné pomocí rozhraní.

Porovnání rozhraní strojopisu a třídy

Podívejme se na podrobný popis rozhraní Strojopis versus třída

Základ porovnávání rozhraní mezi stroji a třídami Rozhraní Třída
DefiniceRozhraní definuje strukturu, po které následuje odvozující třída.Zabaluje datové členy a metody a konstruktéry do jednoho sjednocení, které se nazývá třída.
PoužíváníVytvoření struktury pro entitu.Vytváření objektů, Zapouzdření pro pole, metoda
Použití v reálném časeNávrhový vzor, ​​návrh struktury projektuImplementace definovaných architektur
Vytvoření klíčového slovaklíčové slovo rozhraní se používá k vytvoření rozhraní.klíčové slovo class se používá k vytvoření třídy.

Závěr - Typografické rozhraní vs třída

Rozhraní strojopisu a třídy má v oblasti vývoje softwaru jiný účel. Rozhraní poskytuje strukturální stavební blok pro třídu, zatímco tato struktura je implementována třídou, jejímž prostřednictvím byl objekt třídy vytvořen.

Použijeme rozhraní pro vývoj základní struktury softwaru, který je v budoucnu vyvíjen vývojářem, Class implementuje rozhraní poskytnutím těla metody rozhraní. Vytváření rozhraní je snadné v počáteční fázi vývoje softwaru, když požadavek není jasný, protože poskytuje flexibilitu při změně, protože bude implementován třídou.

Doporučený článek

Toto bylo vodítko k největším rozdílům mezi rozhraním Strojopis a třída. Tady také diskutujeme rozhraní strojopisu vs klíčové rozdíly ve třídě s infografikou a srovnávací tabulkou. Můžete se také podívat na následující články -

  1. TypeScript Type vs Rozhraní Rozdíly
  2. CoffeeScript vs TypeScript
  3. JavaScript vs TypeScript
  4. TypeScript vs Flow, který je užitečnější

Kategorie: