Différence entre l'interface Typescript et la classe

Une interface définit la structure qui est suivie par la classe dérivée. C'est un contrat qui est suivi par n'importe quelle entité, l'interface contient beaucoup de choses en tant que propriétés et événements, méthodes, et tous sont appelés en tant que membres de l'interface. Une interface contient la seule déclaration de ces membres, ces membres seront implémentés par la classe Deriving de cette interface. Le mot clé d'interface est utilisé pour déclarer l'interface.

Exemple de déclaration d'interface.

Syntaxe:

interface nom_interface

(

)

interface employé (

firstName: string,

lastName: string,

sayHello: () => chaîne

)

client var: employé = (

prénom: "Tom",

nom: "Hanks",

sayHello: (): string => (return "Hi there")

)

console.log ("Objet client")

console.log (customer.firstName)

console.log (customer.lastName)

console.log (customer.sayHello ())

L'exemple ci-dessus définit une interface. L'objet client est du type Employé.

Il sera désormais lié à l'objet pour définir toutes les propriétés spécifiées par l'interface.

Lors de la compilation, il générera le code JavaScript suivant donné ci-dessous.

// Généré par tapuscrit 1.8.10

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

sayHello: function () (return "Hi there"; )

);

console.log («Objet client»);

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

La sortie de l'exemple de code ci-dessus: -

Objet client

À M

Hanks

salut

La classe est un modèle pour un objet; c'est le concept de langage de programmation orienté objet. Une classe fournit une fonction d'encapsulation des POO. Il enveloppe les membres de données, les méthodes et les constructeurs en une seule unité qui est appelée la classe, de cette façon, il fournit des encapsulations. Une classe antérieure n'était pas prise en charge par Typescript, elle a été prise en charge par une version ES6 de Typescript. Le mot-clé Class est utilisé pour créer des classes dans Typescript.

Syntaxe:-

classe nom_classe (

//faire

)

une classe contient des membres de données, des méthodes et un constructeur;

Les membres de données sont également appelés en tant que champ, il représente les propriétés de l'objet qui est créé par une classe

Une cravate correcte est l'état d'un objet, comme la couleur, la hauteur du stylet, la largeur sera appelée comme propriétés d'un objet.

Les méthodes représentent le comportement d'un objet comme la fonctionnalité du stylo est en train d'écrire, la machine à café peut faire différents types de café, cela s'appelle le comportement d'un objet.

Les constructeurs sont habitués à générer un objet pour une classe définie, afin qu'il puisse être utilisé en tant que places requises. Il est également responsable de l'initialisation d'un champ d'une classe.

Ces trois éléments sont appelés membres d'une classe qui est encapsulée par classe dans une seule unité.

Considérez un employé de classe en tapuscrit.

employé de classe (

)

Lors de la compilation, il générera le code JavaScript suivant.

// Généré par tapuscrit 1.8.10

var Employé = (fonction () (

fonction Employé () (

)

l'employé de retour;

) ());

Exemple: déclaration d'une classe

class CarDemo (

// déclaration de champ

moteur: chaîne;

// déclaration constructeur

constructeur (moteur: chaîne) (

this.engine = moteur

)

// déclaration de fonction

show (): void (

console.log ("Le moteur est:" + this.engine)

)

)

Dans l'exemple ci-dessus, le nom de classe est CarDemo, ayant un moteur de nom de champ ayant un constructeur qui initialise le moteur de nom de champ, ce mot-clé fait référence à l'instance de classe actuelle, c'est pourquoi cela. moteur = moteur écrit, ayant un nom de méthode unique - affiche la valeur du champ qui a été initialisée par un constructeur.

En compilant le code ci-dessus, il générera le code JavaScript suivant.

// Généré par tapuscrit 1.8.10

var CarDemo = (fonction () (

fonction CarDemo (moteur) (

this.engine = moteur;

)

CarDemo.prototype.show = function () (

console.log («Engine is:» + this.engine);

);

retourner CarDemo;

) ());

Création d'objets Instance de la classe ci-dessus

Pour créer une instance de la classe, le nouveau mot-clé utilisé suivi du nom de la classe. La syntaxe de la même chose est donnée ci-dessous -

Syntaxe

var nom_objet = nouveau nom_classe ((arguments))

Le nouveau mot-clé est responsable de l'instanciation.

Le côté droit de l'expression appelle le constructeur. Le constructeur doit recevoir des valeurs s'il est paramétré.

/ créer un objet

var obj = new CarDemo ("XXSY1");

// accéder au champ

console.log ("Lecture de la valeur d'attribut Engine comme:" + obj.engine);

// accéder à la fonction

obj.show ();

La sortie du code ci-dessus est la suivante -

Lecture de la valeur d'attribut Engine comme XXSY1

La fonction affiche le moteur est: XXSY1

Comparaison directe entre l'interface Typescript et la classe

Vous trouverez ci-dessous la principale différence entre l'interface Typescript et la classe

Différences clés entre l'interface Typescript et la classe

L'interface Typescript vs la classe sont des choix populaires sur le marché; laissez-nous discuter de certaines des principales différences entre l'interface Typescript et la classe:

  1. L'interface définit une structure pour dériver la classe de cette interface. une interface contient la seule déclaration de fonctions membres.
  2. La classe est responsable de l'implémentation de la structure d'interface en donnant le corps de la fonction de l'interface.Elle fournit l'encapsulation par l'encapsulation des membres de données, fonctionne dans une boîte qui est appelée en tant que classe de cette manière, elle fournit les fonctionnalités d'encapsulation des OPP.
  3. Le mot-clé Interface est utilisé pour créer une interface qui contient des membres de données, des fonctions.
  4. Le mot-clé Class est utilisé pour créer une classe qui contient des membres de données, des fonctions, des constructeurs.
  5. Interface complètement supprimée lors de la compilation du code. Bien que la classe ne supprime pas lors de la compilation du code.
  6. Une interface peut étendre une autre interface par le mot-clé extend de cette manière, l'interface fournit l'héritage .interface n'étend pas une classe, elle définit une structure pour la classe. L'interface prend en charge plusieurs héritages en étendant plusieurs interfaces ensemble.
  7. La classe implémente l'interface en implémentant le mot-clé, la classe peut étendre une autre classe également en utilisant le mot-clé extend de cette façon, la classe enfant peut utiliser la classe parent cette fonctionnalité est appelée héritage, la classe ne prend pas en charge plusieurs héritages car à la fois une seule interface implémentée par classe. c'est possible avec une interface.

Comparaison entre l'interface Typescript et la classe

Regardons la description détaillée de l'interface Typescript vs classe

Base de comparaison entre l'interface Typescript et la classe Interface Classe
DéfinitionUne interface définit une structure qui est suivie par la dérivation de classe.Il encapsule les membres de données, les méthodes et les constructeurs en une seule unité qui est appelée une classe.
UsagePour créer une structure pour une entité.Création d'objets, encapsulation de champs, méthode
Utilisation en temps réelDesign Pattern, Designing project StructureImplémentations d'architectures définies
Mot-clé de créationLe mot-clé interface est utilisé pour créer une interface.Le mot-clé class est utilisé pour créer la classe.

Conclusion - Interface typographique vs classe

L'interface typographique vs la classe ont toutes deux un objectif différent dans le domaine du développement logiciel. L'interface donne le bloc de construction structurel pour la classe, tandis que cette structure implémente par la classe à travers laquelle l'objet de la classe a été créé.

Nous utiliserons l'interface pour développer la structure de base du logiciel qui sera développé à l'avenir par un développeur, Class implémente l'interface en fournissant un corps de la méthode de l'interface. La création d'interface est facile dans une phase initiale de développement logiciel lorsqu'une exigence n'est pas claire car elle offre la flexibilité de changer, car elle sera implémentée par une classe.

Article recommandé

Cela a été un guide pour les principales différences entre l'interface Typescript et la classe. Ici, nous discutons également de l'interface Typescript vs les différences de clé de classe avec des infographies et un tableau de comparaison. Vous pouvez également consulter les articles suivants -

  1. Type TypeScript vs différences d'interface
  2. CoffeeScript vs TypeScript
  3. JavaScript vs TypeScript
  4. TypeScript vs Flow, lequel est le plus utile