Разлика между Typescript интерфейс спрямо клас

Интерфейс определя структурата, която е последвана от производен клас. Това е договор, който се следва от всяко образувание, Интерфейсът съдържа много неща като свойства и събития, методи и всички те се наричат ​​членове на интерфейса. Интерфейсът съдържа единствената декларация на тези членове, тези членове ще бъдат реализирани от клас Deriving на този интерфейс. Интерфейсната ключова дума се използва за деклариране на интерфейса.

Пример за декларация на интерфейса.

Синтаксис:

име на интерфейс интерфейс

(

)

служител на интерфейса (

FirstName: низ,

LASTNAME: низ,

sayHello: () => низ

)

вар клиент: служител = (

FirstName: "Том",

LASTNAME: "Ханкс",

sayHello: (): string => (върнете „Здравей там“)

)

console.log („Обект на клиента“)

console.log (customer.firstName)

console.log (customer.lastName)

console.log (customer.sayHello ())

Горният пример определя интерфейс. Обектът на клиента е от типа Служител.

Вече ще бъде задължително обектът да дефинира всички свойства, както е посочено от интерфейса.

При компилирането той ще генерира следния JavaScript код, даден по-долу.

// Генериран от машинопис 1.8.10

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

sayHello: function () (връщане “Здравей там”; )

);

console.log („Обект на клиента“);

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

Резултатът от горния примерен код: -

Обект на клиента

мъжко животно

Ханкс

Здрасти

Класът е план за обект; това е концепцията на обектно-ориентирания език за програмиране. Класът предоставя функция за капсулиране на OOP. Той обвива членовете на данните и методите и конструкторите в единично обединение, което се нарича клас, по този начин осигурява капсулации. По-ранен клас не се поддържа от Typescript, той получи поддръжка от ES6 версия на Typescript. Класната ключова дума се използва за създаване на класове в Typescript.

Синтаксис:-

class class_name (

//да направя

)

клас съдържа членове, методи и конструктор на данни;

Членовете на данните, наричани също като поле, той представлява свойства на Object, който се създава от клас

Правилната вратовръзка е състояние на обект, като цвят, височина на писалката, ширината ще се нарича свойства на обект.

Методите представляват поведението на обект, като писалката функционалност пише, Кафе машина може да прави различни видове кафе, това се нарича като поведение на обект.

Конструкторите се използват за генериране на обект за дефиниран клас, така че той да може да бъде използван като задължителни места. Той е отговорен и за инициализиране на поле от клас.

И трите се наричат ​​член на клас, който е капсулиран от клас в едно цяло.

Помислете служител за клас в машинопис.

клас служител (

)

При компилирането той ще генерира следния JavaScript код.

// Генериран от машинопис 1.8.10

var Employee = (функция () (

функция Служител () (

)

връщане Служител;

) ());

Пример: Деклариране на клас

клас CarDemo (

// декларация на полето

двигател: низ;

// декларация на конструктора

конструктор (двигател: низ) (

this.engine = двигател

)

// декларация за функция

show (): void (

console.log („Двигателят е:„ + this.engine)

)

)

В горния пример име на клас е CarDemo, като двигателят на име на поле има конструктор, който инициализира двигателя на името на полето, тази ключова дума се отнася за текущия екземпляр на клас, затова това. engine = двигател, написан с име на един метод - покажете коя стойност на полето, която се инициализира от конструктор.

Съставяйки горния код, той ще генерира следния JavaScript код.

// Генериран от машинопис 1.8.10

var CarDemo = (функция () (

функция CarDemo (двигател) (

this.engine = двигател;

)

CarDemo.prototype.show = функция () (

console.log („Двигателят е:“ + this.engine);

);

връщане CarDemo;

) ());

Създаване на Instance обекти от по-горе клас

За да създадете екземпляр на класа, използваната нова ключова дума, последвана от името на класа. Синтаксисът за същото е даден по-долу -

Синтаксис

var object_name = ново име на клас ((аргументи))

Новата ключова дума е отговорна за създаването на данни.

Дясната страна на израза се позовава на конструктора. Конструкторът трябва да предава стойности, ако е параметризиран.

/ създаване на обект

var obj = нов CarDemo („XXSY1“);

// достъп до полето

console.log („Стойност на атрибута за четене Engine като:“ + obj.engine);

// достъп до функцията

obj.show ();

Резултатът от горния код е както следва -

Стойност на атрибута за четене Engine като XXSY1

Функционални дисплеи Двигателят е: XXSY1

Сравнение от главата до главата между Typescript интерфейс и клас

По-долу е горната 4 разлика между Typescript интерфейс срещу клас

Ключови разлики между Typescript интерфейс спрямо клас

И двата интерфейса Typescript срещу клас са популярни решения на пазара; нека да обсъдим някои от основните разлики между Typescript интерфейс срещу клас:

  1. Интерфейсът дефинира структуриран за извеждане на клас на този интерфейс. интерфейс съдържа единствената декларация за функции на членове.
  2. Класът е отговорен за прилагането на структурата на интерфейса, като предоставя на тялото функцията на интерфейса. Той осигурява капсулиране чрез увиване на членове на данни, функции в поле, което се нарича като клас по този начин, осигурява функции за капсулиране на OPP.
  3. Интерфейсната ключова дума се използва за създаване на интерфейс, който съдържа членове на данни, функции.
  4. Класната ключова дума се използва за създаване на клас, който съдържа членове, функции, конструктори на данни.
  5. Интерфейсът е напълно премахнат по време на компилиране на код. Докато класът не се премахва по време на компилация на код.
  6. Един интерфейс може да разшири друг интерфейс, като разшири ключовата дума по този начин интерфейсът осигурява наследяване. Интерфейсът не разширява клас, той определя структура за класа. Интерфейсът поддържа множество наследства чрез разширяване на множество интерфейси заедно.
  7. Класът реализира интерфейса чрез реализиране на ключова дума, класът може да разшири друг клас също чрез използване на ключова дума разширява по този начин детският клас може да използва родителски клас тази функция се нарича наследяване, класът не поддържа множество наследства, тъй като в даден момент само един интерфейс, реализиран от клас. възможно е с интерфейс.

Сравнение между Typescript интерфейс спрямо клас

Нека разгледаме подробното описание на Typescript интерфейс срещу клас

Основа на сравнението между Typescript интерфейс срещу клас интерфейс клас
дефиницияИнтерфейсът определя структура, която е последвана от производен клас.Той обръща членовете на данните и методите и конструкторите в единично обединение, което се нарича клас.
употребаЗа да създадете структура за образувание.Създаване на обект, капсулация за полета, метод
Използване в реално времеМодел на проектиране, структура на проектаВнедряване на дефинирани архитектури
Ключова дума за създаванеинтерфейсна ключова дума се използва за създаване на интерфейс.класната ключова дума се използва за създаване на класа.

Заключение - Typescript интерфейс срещу клас

Интерфейсът на Typescript и клас има различно предназначение в областта на разработка на софтуер. Интерфейсът дава структурния градивен елемент за класа, докато тази структура се реализира от класа, чрез който е създаден обект на класа.

Ще използваме интерфейс за разработване на основна структура на софтуер, който е разработен в бъдеще от разработчик, Class реализира интерфейса, като предоставя тяло на метода на интерфейса. Създаването на интерфейс е лесно в начална фаза на разработка на софтуер, когато изискването не е ясно, защото осигурява гъвкавост за промяна, защото ще бъде реализиран от клас.

Препоръчителен член

Това е ръководство за основните разлики между Typescript интерфейс спрямо клас. Тук също обсъждаме интерфейса Typescript спрямо класовите разлики с инфографиката и таблицата за сравнение. Може да разгледате и следните статии -

  1. TypeScript Type спрямо разликите в интерфейса
  2. CoffeeScript срещу TypeScript
  3. JavaScript срещу TypeScript
  4. TypeScript срещу Flow кой е по-полезен