Diferença entre interface TypeScript vs classe

Uma interface define a estrutura que é seguida pela classe derivada. É um contrato que é seguido por qualquer entidade; a Interface contém muitas coisas como propriedades e eventos, métodos, e todos esses são chamados como membros da interface. Uma interface contém a única declaração desses membros, esses membros serão implementados pela classe Deriving dessa interface. A palavra-chave Interface é usada para declarar a interface.

Exemplo de declaração de interface.

Sintaxe:

interface interface_name

(

)

interface Employee (

firstName: string,

lastName: string,

sayHello: () => string

)

var customer: Employee = (

firstName: "Tom",

lastName: "Hanks",

sayHello: (): string => (retorne "Olá!")

)

console.log ("Objeto do Cliente")

console.log (customer.firstName)

console.log (customer.lastName)

console.log (customer.sayHello ())

O exemplo acima define uma interface. O objeto do cliente é do tipo Funcionário.

Agora, será vinculado ao objeto definir todas as propriedades conforme especificado pela interface.

Ao compilar, gera o seguinte código JavaScript fornecido abaixo.

// Gerado pelo texto datilografado 1.8.10

var customer = (nome: "Tom", sobrenome: "Hanks",

sayHello: function () (retorne “Olá!”; )

);

console.log ("Objeto do Cliente");

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

A saída do código de exemplo acima: -

Objeto de cliente

Tom

Hanks

Olá

A classe é um blueprint para um objeto; é o conceito da linguagem de programação orientada a objetos. Uma classe fornece o recurso de encapsulamento de OOPs. Ele agrupa membros de dados, métodos e construtores em uma única união, chamada de classe, dessa forma fornece encapsulamentos. Uma classe anterior não era suportada pelo Typescript, ela recebia suporte de uma versão ES6 do Typescript. A palavra-chave classe é usada para criar classes no TypeScript.

Sintaxe:-

classe class_name (

//façam

)

uma classe contém membros de dados, métodos e construtor;

Os membros de dados também chamados como um campo, representam propriedades de Object, criadas por uma classe

Um empate adequado é o estado de um objeto, como cor, altura e altura da caneta, a largura será chamada como propriedades de um objeto.

Os métodos representam o comportamento de um objeto, como a funcionalidade da caneta está escrevendo. A máquina de café pode fazer diferentes tipos de café, isso é chamado de comportamento de um objeto.

Os construtores são usados ​​para gerar um objeto para uma classe definida, para que possa ser usado como locais necessários. Ele também é responsável por inicializar um campo de uma classe.

Todos esses três são chamados de membros de uma classe que é encapsulada pela classe em uma única unidade.

Considere uma classe Employee em texto datilografado.

classe Employee (

)

Ao compilar, ele gera o seguinte código JavaScript.

// Gerado pelo texto datilografado 1.8.10

var Funcionário = (função () (

função Employee () (

)

funcionário de retorno;

) ());

Exemplo: Declarando uma Classe

classe CarDemo (

// declaração de campo

engine: string;

// declaração do construtor

construtor (mecanismo: string) (

this.engine = engine

)

// declaração de função

show (): void (

console.log (“O mecanismo é:“ + this.engine)

)

)

No exemplo acima, o nome da classe é CarDemo, tendo o mecanismo de nome do campo com o construtor que está inicializando o mecanismo de nome do campo, esta palavra-chave refere-se à instância atual da classe, é por isso que. engine = engine escrito, com nome de método único - mostra qual mostra o valor do campo que foi inicializado por um construtor.

Compilando o código acima, ele gerará o seguinte código JavaScript.

// Gerado pelo texto datilografado 1.8.10

var CarDemo = (function () (

função CarDemo (mecanismo) (

this.engine = motor;

)

CarDemo.prototype.show = function () (

console.log (“O mecanismo é:” + this.engine);

);

retornar CarDemo;

) ());

Criando objetos de instância da classe acima

Para criar uma instância da classe, a nova palavra-chave usada seguida pelo nome da classe. A sintaxe para o mesmo é fornecida abaixo -

Sintaxe

var object_name = new class_name ((argumentos))

A nova palavra-chave é responsável pela instanciação.

O lado direito da expressão chama o construtor. O construtor deve receber valores se for parametrizado.

/ criando um objeto

var obj = novo CarDemo ("XXSY1");

// acesse o campo

console.log (“Lendo o valor do atributo Engine como:” + obj.engine);

// acessar a função

obj.show ();

A saída do código acima é a seguinte -

Lendo o valor do atributo Engine como XXSY1

Telas de função O mecanismo é: XXSY1

Comparação direta entre interface TypeScript e classe

Abaixo está a diferença top 4 entre interface TypeScript e classe

Principais diferenças entre interface TypeScript e classe

Tanto a interface Typcript quanto a classe são escolhas populares no mercado; vamos discutir algumas das principais diferenças entre a interface Typescript e a classe:

  1. A interface define estruturada para derivar a classe dessa interface. uma interface contém a única declaração de funções-membro.
  2. A classe é responsável por implementar a estrutura da interface, fornecendo ao corpo a função da interface. Ela fornece encapsulamento pelo agrupamento de membros de dados, funções em uma caixa que é chamada como classe, assim, fornece recursos de encapsulamento dos OPPs.
  3. A palavra-chave Interface é usada para criar uma interface que contém membros de dados, funções.
  4. A palavra-chave classe é usada para criar uma classe que contém membros de dados, funções e construtores.
  5. Interface completamente removida durante a compilação do código. A classe while não é removida durante a compilação do código.
  6. Uma interface pode estender outra interface, estendendo a palavra-chave, dessa maneira, a interface fornece herança .interface não estende uma classe, define uma estrutura para a classe. A interface suporta várias heranças estendendo várias interfaces juntas.
  7. A classe implementa a interface implementa a palavra-chave, classe pode estender outra classe também usando estende a palavra-chave desta maneira, a classe filho pode usar a classe pai. Esse recurso é chamado de herança; a classe não suporta várias heranças, porque ao mesmo tempo apenas uma interface é implementada pela classe. é possível com uma interface.

Comparação entre interface TypeScript e classe

Vamos analisar a descrição detalhada da interface Typescript vs classe

Base de comparação entre interface TypeScript e classe Interface Classe
DefiniçãoUma interface define uma estrutura que é seguida pela classe derivada.Ele agrupa membros de dados, métodos e construtores em uma única união, chamada de classe.
UsoPara criar uma estrutura para uma entidade.Criação de objeto, Encapsulamento para campos, método
Uso em tempo realDesign Pattern, Projetando a estrutura do projetoImplementações de arquiteturas definidas
Palavra-chave de criaçãoA palavra-chave interface é usada para criar uma interface.A palavra-chave class é usada para criar a classe.

Conclusão - Interface tipográfica vs classe

Interface datilografada versus classe têm um propósito diferente na área de desenvolvimento de software. A interface fornece o bloco de construção estrutural para a classe, enquanto essa estrutura é implementada pela classe através da qual o objeto da classe foi criado.

Usaremos a interface para desenvolver uma estrutura básica de software que será desenvolvida no futuro por um desenvolvedor. Class implementa a interface, fornecendo um corpo do método da interface. A criação da interface é fácil em uma fase inicial do desenvolvimento de software, quando um requisito não é claro porque fornece flexibilidade para mudar, porque será implementado por uma classe.

Artigo recomendado

Este foi um guia para as principais diferenças entre a interface Typescript e a classe. Aqui também discutimos as diferenças entre a interface Typescript e as chaves de classe com infográficos e tabela de comparação. Você também pode dar uma olhada nos seguintes artigos -

  1. Tipo TypeScript versus diferenças de interface
  2. CoffeeScript vs TypeScript
  3. JavaScript vs TypeScript
  4. TypeScript vs Flow Qual é o mais útil