Differenza tra interfaccia Typescript e classe

Un'interfaccia definisce la struttura seguita dalla classe derivante. È un contratto che è seguito da qualsiasi entità, Interface contiene molte cose come proprietà ed eventi, metodi e questi sono tutti chiamati come membri dell'interfaccia. Un'interfaccia contiene l'unica dichiarazione di questi membri, questi membri saranno implementati dalla classe Deriving di quell'interfaccia. La parola chiave Interface viene utilizzata per dichiarare l'interfaccia.

Esempio di dichiarazione di interfaccia.

Sintassi:

interfaccia nome_interfaccia

(

)

interfaccia Dipendente (

firstName: string,

Cognome: string,

sayHello: () => stringa

)

var var: Employee = (

firstName:”Tom”,

Cognome:”Hanks”,

sayHello: (): string => (return "Ciao a tutti")

)

console.log ("Oggetto cliente")

console.log (customer.firstName)

console.log (customer.lastName)

console.log (customer.sayHello ())

L'esempio sopra definisce un'interfaccia. L'oggetto cliente è del tipo Employee.

Ora sarà vincolante per l'oggetto definire tutte le proprietà come specificato dall'interfaccia.

Durante la compilazione genererà il seguente codice JavaScript indicato di seguito.

// Generato da dattiloscritto 1.8.10

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

sayHello: function () (return “Ciao a tutti”; )

);

console.log ("Oggetto cliente");

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

L'output del codice di esempio sopra riportato: -

Oggetto del cliente

Tom

Hanks

Ciao

La classe è un progetto per un oggetto; è il concetto di linguaggio di programmazione orientata agli oggetti. Una classe fornisce la funzione di incapsulamento di OOP. Racchiude i membri dei dati, i metodi e i costruttori in un'unica unità che viene chiamata classe, in questo modo fornisce incapsulamenti. Una classe precedente non era supportata da Typescript, ma aveva il supporto da una versione ES6 di Typescript. La parola chiave class viene utilizzata per creare classi in Typescript.

Sintassi:-

class nome_classe (

//fare

)

una classe contiene membri di dati, metodi e costruttore;

I membri dei dati chiamati anche come campo, rappresentano le proprietà di Object che viene creato da una classe

Un legame adeguato è lo stato di un oggetto, come il colore, l'altezza della penna, la larghezza verrà chiamata come proprietà di un oggetto.

I metodi rappresentano il comportamento di un oggetto come la funzionalità della penna sta scrivendo, la macchina da caffè può produrre diversi tipi di caffè, questo è chiamato come comportamento di un oggetto.

I costruttori sono abituati a generare un oggetto per una classe definita, in modo che possa essere usato come richiesto places.it è anche responsabile dell'inizializzazione di un campo di una classe.

Questi tre sono chiamati membri di una classe che è incapsulata dalla classe in una singola unità.

Considera un dipendente di classe in dattiloscritto.

dipendente di classe (

)

Durante la compilazione, genererà il seguente codice JavaScript.

// Generato da dattiloscritto 1.8.10

var Employee = (function () (

funzione Employee () (

)

Dipendente di ritorno;

) ());

Esempio: dichiarazione di una classe

classe CarDemo (

// dichiarazione sul campo

motore: string;

// dichiarazione del costruttore

costruttore (motore: stringa) (

this.engine = engine

)

// dichiarazione di funzione

show (): void (

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

)

)

Nell'esempio sopra il nome della classe è CarDemo, con motore nome campo con costruttore che sta inizializzando il motore nome campo, questa parola chiave fa riferimento all'istanza di classe corrente, ecco perché. engine = engine scritto, con nome del metodo singolo - mostra quale mostra il valore del campo che è stato inizializzato da un costruttore.

Compilando il codice sopra, genererà il seguente codice JavaScript.

// Generato da dattiloscritto 1.8.10

var CarDemo = (function () (

funzione CarDemo (motore) (

this.engine = engine;

)

CarDemo.prototype.show = function () (

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

);

ritorno CarDemo;

) ());

Creazione di oggetti Instance di classe precedente

Per creare un'istanza della classe, la nuova parola chiave utilizzata seguita dal nome della classe. La sintassi per lo stesso è riportata di seguito -

Sintassi

var nome_oggetto = nuovo nome_classe ((argomenti))

La nuova parola chiave è responsabile dell'istanza.

Il lato destro dell'espressione invoca il costruttore. Il costruttore deve ricevere valori se è parametrizzato.

/ creazione di un oggetto

var obj = new CarDemo (“XXSY1”);

// accedi al campo

console.log ("Lettura del valore dell'attributo Engine as:" + obj.engine);

// accedi alla funzione

obj.show ();

L'output del codice sopra è il seguente:

Lettura del valore dell'attributo Engine come XXSY1

Display delle funzioni Il motore è: XXSY1

Confronto diretto tra l'interfaccia di Typescript e la classe

Di seguito è riportata la principale differenza tra l'interfaccia di Typescript e la classe

Differenze chiave tra interfaccia Typescript e classe

Entrambe le interfacce Typescript vs class sono scelte popolari nel mercato; parliamo di alcune delle principali differenze tra l'interfaccia di Typescript e la classe:

  1. L'interfaccia definisce strutturata per derivare la classe di tale interfaccia. un'interfaccia contiene l'unica dichiarazione di funzioni membro.
  2. La classe è responsabile dell'implementazione della struttura dell'interfaccia dando al corpo la funzione dell'interfaccia. Fornisce l'incapsulamento mediante il wrapping dei membri dei dati, funzioni in un box chiamato come classe in questo modo fornisce le funzioni di incapsulamento degli OPP.
  3. La parola chiave interfaccia viene utilizzata per creare un'interfaccia che contiene membri di dati, funzioni.
  4. La parola chiave class viene utilizzata per creare una classe che contiene membri di dati, funzioni, costruttori.
  5. Interfaccia completamente rimossa durante la compilazione del codice. Mentre la classe non viene rimossa durante la compilazione del codice.
  6. Un'interfaccia può estendere un'altra interfaccia estendendo la parola chiave in questo modo l'interfaccia fornisce ereditarietà. L'interfaccia non estende una classe, definisce una struttura per la classe. L'interfaccia supporta più eredità estendendo insieme più interfacce.
  7. La classe implementa l'interfaccia con la parola chiave implementa, la classe può estendere l'altra classe anche usando la parola chiave extends in questo modo la classe figlio può usare la classe genitore questa funzione è chiamata eredità, la classe non supporta più eredità perché alla volta solo un'interfaccia implementata dalla classe. è possibile con un'interfaccia.

Confronto tra interfaccia Typescript e classe

Esaminiamo la descrizione dettagliata dell'interfaccia di Typescript contro la classe

Base di confronto tra l'interfaccia di Typescript e la classe Interfaccia Classe
DefinizioneUn'interfaccia definisce una struttura seguita dalla classe derivante.Racchiude i membri dei dati, i metodi e i costruttori in un'unica unità che si chiama classe.
usoPer creare una struttura per un'entità.Creazione di oggetti, incapsulamento per campi, metodo
Utilizzo in tempo realeModello di progettazione, progettazione della struttura del progettoStrumenti di architetture definite
Parola chiave di creazionela parola chiave interface viene utilizzata per creare un'interfaccia.La parola chiave class viene utilizzata per creare la classe.

Conclusione - Interfaccia dattiloscritta vs classe

L'interfaccia dattiloscritta vs la classe hanno entrambe uno scopo diverso nell'area di sviluppo del software. L'interfaccia fornisce il blocco strutturale per la classe, mentre questa struttura implementa la classe attraverso la quale l'oggetto della classe creato.

Useremo l'interfaccia per sviluppare la struttura di base del software che sarà sviluppata in futuro da uno sviluppatore, Class implementa l'interfaccia fornendo un corpo del metodo dell'interfaccia. La creazione dell'interfaccia è facile in una fase iniziale di sviluppo del software quando un requisito non è chiaro perché fornisce flessibilità per il cambiamento, perché sarà implementato da una classe.

Articolo raccomandato

Questa è stata una guida alle principali differenze tra l'interfaccia di Typescript e la classe. Qui discutiamo anche dell'interfaccia di Typescript e delle differenze di chiave di classe con infografica e tabella di confronto. Puoi anche dare un'occhiata ai seguenti articoli -

  1. Tipo di carattere vs differenze di interfaccia
  2. CoffeeScript vs TypeScript
  3. JavaScript vs TypeScript
  4. TypeScript vs Flow Quale è più utile

Categoria: