Diferencia entre la interfaz de mecanografía vs clase

Una interfaz define la estructura que es seguida por derivar la clase. Es un contrato que es seguido por cualquier entidad, la interfaz contiene muchas cosas como propiedades y eventos, métodos, y todos estos se llaman como miembros de la interfaz. Una interfaz contiene la única declaración de estos miembros, estos miembros serán implementados por la clase Derivación de esa interfaz. La palabra clave de interfaz se utiliza para declarar la interfaz.

Ejemplo de declaración de interfaz.

Sintaxis:

interfaz nombre_interfaz

(

)

interfaz empleado (

firstName: string,

apellido: cadena,

sayHello: () => string

)

cliente var: empleado = (

nombre: "Tom",

apellido: "Hanks",

sayHello: (): string => (return "Hola"

)

console.log ("Objeto de cliente")

console.log (customer.firstName)

console.log (customer.lastName)

console.log (customer.sayHello ())

El ejemplo anterior define una interfaz. El objeto de cliente es del tipo Empleado.

Ahora será vinculante para el objeto definir todas las propiedades según lo especificado por la interfaz.

Al compilar, generará el siguiente código JavaScript que se proporciona a continuación.

// Generado por mecanografiado 1.8.10

cliente var = (firstName: "Tom", apellido: "Hanks",

sayHello: function () (return "Hola"; )

);

console.log ("Objeto de cliente");

console.log (customer.firstName);

console.log (customer.lastName);

console.log (customer.sayHello ());

La salida del código de ejemplo anterior: -

Objeto del cliente

Tom

Hanks

Hola

La clase es un plano para un objeto; Es el concepto del lenguaje de programación orientado a objetos. Una clase proporciona la función de encapsulaciones de OOP. Envuelve miembros de datos y métodos y constructores en una sola unidad que se llama la clase, de esta manera proporciona encapsulaciones. Una clase anterior no era compatible con Typecript, obtuvo soporte de una versión ES6 de Typecript. La palabra clave Class se usa para crear clases en Typecript.

Sintaxis:-

class class_name (

//que hacer

)

una clase contiene miembros de datos, métodos y constructor;

Miembros de datos también llamados como un campo, representa las propiedades del Objeto que es creado por una clase

Un empate apropiado es el estado de un objeto, como el color del lápiz, la altura, el ancho se llamará como propiedades de un objeto.

Los métodos representan el comportamiento de un objeto como lo está escribiendo la funcionalidad del lápiz. La máquina de café puede hacer diferentes tipos de café, esto se denomina comportamiento de un objeto.

Los constructores se utilizan para generar un objeto para una clase definida, de modo que pueda usarse como lugares requeridos. También es responsable de inicializar un campo de una clase.

Estos tres se llaman miembro de una clase que está encapsulada por clase en una sola unidad.

Considere una clase Empleado en mecanografiado.

Empleado de clase (

)

Al compilar, generará el siguiente código JavaScript.

// Generado por mecanografiado 1.8.10

var Empleado = (función () (

función Empleado () (

)

empleado de retorno;

) ());

Ejemplo: declarar una clase

clase CarDemo (

// declaración de campo

motor: cadena;

// declaración del constructor

constructor (motor: cadena) (

this.engine = motor

)

// declaración de función

show (): void (

console.log ("El motor es:" + this.engine)

)

)

En el ejemplo anterior, el nombre de la clase es CarDemo, que tiene un motor de nombre de campo que tiene un constructor que está inicializando el motor de nombre de campo, esta palabra clave se refiere a la instancia de clase actual, por eso es esto. motor = motor escrito, que tiene un nombre de método único: muestra qué valor de campo se muestra y que un constructor inicializó.

Al compilar el código anterior, generará el siguiente código JavaScript.

// Generado por mecanografiado 1.8.10

var CarDemo = (function () (

función CarDemo (motor) (

this.engine = motor;

)

CarDemo.prototype.show = function () (

console.log ("El motor es:" + this.engine);

);

regresar CarDemo;

) ());

Crear objetos de instancia de la clase anterior

Para crear una instancia de la clase, la nueva palabra clave utilizada seguida del nombre de la clase. La sintaxis para el mismo se da a continuación:

Sintaxis

var object_name = new class_name ((argumentos))

La nueva palabra clave es responsable de la instanciación.

El lado derecho de la expresión invoca al constructor. El constructor debe pasar valores si está parametrizado.

/ crear un objeto

var obj = nuevo CarDemo ("XXSY1");

// acceder al campo

console.log ("Lectura del valor del atributo Engine as:" + obj.engine);

// acceder a la función

obj.show ();

La salida del código anterior es la siguiente:

Lectura del valor del atributo Engine como XXSY1

La función muestra el motor es: XXSY1

Comparación cabeza a cabeza entre la interfaz de mecanografía vs clase

A continuación se muestran las 4 principales diferencias entre la interfaz de tipo de escritura vs clase

Diferencias clave entre la interfaz de tipo de escritura vs clase

Ambos tipos de interfaz vs clase son opciones populares en el mercado; discutamos algunas de las principales diferencias entre la interfaz de Script de tipo vs clase:

  1. La interfaz define estructurada para derivar la clase de esa interfaz. una interfaz contiene la única declaración de funciones miembro.
  2. La clase es responsable de implementar la estructura de la interfaz al dar el cuerpo de la función de la interfaz. Proporciona encapsulación mediante la envoltura de los miembros de datos, funciones en un cuadro que se llama como clase de esta manera, proporciona características de encapsulación de OPP.
  3. La palabra clave de interfaz se utiliza para crear una interfaz que contiene miembros de datos, funciones.
  4. La palabra clave de clase se usa para crear una clase que contiene miembros de datos, funciones, constructores.
  5. Interfaz completamente eliminada durante la compilación de código. Mientras que la clase no se elimina durante la compilación de código.
  6. Una interfaz puede extender otra interfaz extendiendo la palabra clave de esta manera, la interfaz proporciona herencia. La interfaz no extiende una clase, define una estructura para la clase. La interfaz admite múltiples herencias al extender múltiples interfaces juntas.
  7. La clase implementa la interfaz mediante la palabra clave implements, la clase puede extender otra clase también mediante el uso de la palabra clave extendidos de esta manera, la clase secundaria puede usar la clase primaria, esta característica se llama herencia, la clase no admite múltiples herencias porque a la vez solo una interfaz implementada por clase. Es posible con una interfaz.

Comparación entre la interfaz de tipografía vs clase

Echemos un vistazo a la descripción detallada de la interfaz de tipo de escritura vs clase

Base de comparación entre la interfaz de mecanografía vs clase Interfaz Clase
DefiniciónUna interfaz define una estructura que es seguida por derivar la clase.Envuelve miembros de datos y métodos y constructores en una sola unidad que se llama una clase.
UsoPara crear una estructura para una entidad.Creación de objetos, encapsulación para campos, método
Uso en tiempo realPatrón de diseño, diseño de la estructura del proyectoImplementos de arquitecturas definidas
Palabra clave de creaciónLa palabra clave interface se usa para crear una interfaz.La palabra clave class se usa para crear la clase.

Conclusión - Interfaz mecanografiada vs clase

La interfaz mecanografiada versus la clase tienen un propósito diferente en el área de desarrollo de software. La interfaz proporciona el bloque de construcción estructural para la clase, mientras que esta estructura se implementa por la clase a través de la cual se creó el objeto de la clase.

Usaremos la interfaz para desarrollar la estructura básica del software que se desarrolla en el futuro por un desarrollador. Class implementa la interfaz proporcionando un cuerpo del método de la interfaz. La creación de interfaces es fácil en una fase inicial de desarrollo de software cuando un requisito no está claro porque proporciona flexibilidad para cambiar, ya que será implementado por una clase.

Artículo recomendado

Esta ha sido una guía de las principales diferencias entre la interfaz de Tipos de letra y la clase. Aquí también discutimos las diferencias clave entre la interfaz de Typecript y la clase con infografías y la tabla de comparación. También puede echar un vistazo a los siguientes artículos:

  1. TypeScript Type vs Diferencias de interfaz
  2. CoffeeScript vs TypeScript
  3. JavaScript vs TypeScript
  4. TypeScript vs Flow ¿Cuál es más útil?