Різниця між інтерфейсом Typescript та класом

Інтерфейс визначає структуру, за якою слідує виведення класу. Це договір, який дотримується будь-яка сутність, Інтерфейс містить багато речей як властивості, а події, методи, і всі вони називаються членами інтерфейсу. Інтерфейс містить єдину заяву цих членів, ці члени будуть реалізовані класом Deriving цього інтерфейсу. Інтерфейсне ключове слово використовується для оголошення інтерфейсу.

Приклад декларації інтерфейсу.

Синтаксис:

ім'я інтерфейсу_файлу

(

)

Інтерфейс Співробітник (

firstName: рядок,

lastName: рядок,

sayHello: () => рядок

)

var замовник: Співробітник = (

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: "Том", lastName: "Хенкс",

sayHello: function () (повернути «Привіт там»; )

);

console.log ("Об'єкт клієнта");

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

Вихід з наведеного вище прикладу коду: -

Об'єкт замовника

Том

Хенкс

Привіт там

Клас - креслення для об'єкта; це концепція об'єктно-орієнтованої мови програмування. Клас забезпечує функцію інкапсуляції OOP. Він обертає члени даних, методи та конструктори в єдине об'єднання, яке називається класом, таким чином воно забезпечує інкапсуляцію. Раніше клас не підтримувався Typescript, він отримав підтримку версії ES6 Typescript ES6. Ключове слово клас використовується для створення класів у Typescript.

Синтаксис: -

class class_name (

//зробити

)

клас містить учасників, методів та конструктор даних;

Учасники даних також називаються полем, воно представляє властивості Об'єкта, який створюється класом

Правильна краватка - це стан об'єкта, як колір, висота Пера, ширина буде називатися властивостями об'єкта.

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

Конструктори використовуються для генерації об'єкта для визначеного класу, так що він може бути використаний як необхідні місця. Він також відповідає за ініціалізацію поля класу.

Ці всі троє називаються членами класу, які інкапсульовані класом в одне ціле.

Розглянемо працівника класу в машинописі.

працівник класу (

)

Під час компіляції він генерує наступний код JavaScript.

// Створено машинописним текстом 1.8.10

var Employee = (function () (

функція Співробітник () (

)

повернути працівника;

) ());

Приклад: Декларування класу

клас CarDemo (

// польова декларація

двигун: струнний;

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

конструктор (двигун: рядок) (

this.engine = двигун

)

// оголошення функції

show (): void (

console.log ("Двигун є:" + це.енджин)

)

)

У наведеному вище прикладі ім'я класу - CarDemo. Маючи ім'я поля поля, що має конструктор, який ініціалізує двигун імені поля, це ключове слово посилається на поточний екземпляр класу, ось чому це. engine = написаний двигун, що має одну назву методу - показує, яке значення поля, яке було ініціалізовано конструктором.

Складаючи вищевказаний код, він генерує наступний код JavaScript.

// Створено машинописним текстом 1.8.10

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

функція CarDemo (двигун) (

this.engine = двигун;

)

CarDemo.prototype.show = function () (

console.log ("Двигун є:" + this.engine);

);

повернути CarDemo;

) ());

Створення об'єктів Instance вище класу

Для створення екземпляра класу використовується нове ключове слово, а за ним - ім’я класу. Синтаксис для того ж наведено нижче -

Синтаксис

var object_name = нове_ class_name ((аргументи))

Нове ключове слово відповідає за інстанціювання.

Права частина виразу викликає конструктор. Конструктору слід передавати значення, якщо вони параметризовані.

/ створення об’єкта

var obj = новий CarDemo ("XXSY1");

// доступ до поля

console.log ("Читання значення атрибута Engine як:" + obj.engine);

// отримати доступ до функції

obj.show ();

Вихід з вищевказаного коду такий -

Значення атрибута читання двигуна як XXSY1

Функції дисплея Двигун: XXSY1

Порівняння «голова до голови» між інтерфейсом Typescript та класом

Нижче наведено верхню різницю між інтерфейсом 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 vs Flow, який корисніший