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:
- A interface define estruturada para derivar a classe dessa interface. uma interface contém a única declaração de funções-membro.
- 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.
- A palavra-chave Interface é usada para criar uma interface que contém membros de dados, funções.
- A palavra-chave classe é usada para criar uma classe que contém membros de dados, funções e construtores.
- Interface completamente removida durante a compilação do código. A classe while não é removida durante a compilação do código.
- 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.
- 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ção | Uma 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. |
Uso | Para criar uma estrutura para uma entidade. | Criação de objeto, Encapsulamento para campos, método |
Uso em tempo real | Design Pattern, Projetando a estrutura do projeto | Implementações de arquiteturas definidas |
Palavra-chave de criação | A 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 -
- Tipo TypeScript versus diferenças de interface
- CoffeeScript vs TypeScript
- JavaScript vs TypeScript
- TypeScript vs Flow Qual é o mais útil