Diferencia entre interfaces y clases en TypeScript

En este artículo, veremos cuál es la diferencia entre «interfaz» y «Clases» en TypeScript .

Interfaz: La interfaz es la estructura virtual que se utiliza para la verificación de tipos. En TypeScript usamos la palabra clave de interfaz para crear la nueva interfaz con identidad. Crea la estructura para el mismo tipo de datos. La interfaz es la estructura que define las propiedades y el método para el objeto con nombre y tipo.

Sintaxis:

interface New_Interface{ // This is interface Body }

Características:

  • Tiene acoplamiento flojo.
  • Admite herencia múltiple.

Ejemplo 1:

Javascript

// Interface for Class
interface ForClass {
    readonly var1:string;               
}
  
let newclass: ForList = {var1:"Interface"};
console.log(newclass);

Producción:

{ var1: 'Interface' }

Ejemplo 2:

Javascript

// Interface for Object with extends function 
interface ForObj {
    First: string
}
  
interface forNewObj extends ForObj {
    Second: number
}
  
let newArray: forNewObj = {
    First: "Interface for Object",
    Second: 2
};
  
console.log(newArray);

Producción:

{ First: 'Interface for Object', Second: 2 }

Clases: Son el esqueleto de los objetos con su uso implementamos objetos. En TypeScript, usamos la clase Keyword para crear el constructor del objeto. Puede tener propiedades, métodos y variables.

Sintaxis:

class geeks {
    // Class property and methods
    // are created here
}

Características:

  • En las clases, admite la visibilidad de los miembros.
  • Admite la anulación de miembros.
  • es compatible con la herencia.

Ejemplo 1:

Javascript

const Table_Object = {
                      
    // field of class
    Size : 32,
                   
    // Collection field 
    contents : ["Book","Pen"],
                   
    // Function 
    prtint : function() {
        console.log("hello Geeks")
    }
}
   
console.log(Table_Object);

Producción:

{ 
    Size: 32, 
    contents: [ 'Book', 'Pen' ], 
    prtint: [Function: prtint] 
}

Ejemplo 2:

Javascript

class Geeks {      
    name : string ;
    articles: number ; 
    cp_problems: number;
  
    // Constructor of class
    constructor(name:string, articles: number, cp_problems: number) {
        this.name = name;
        this.articles = articles;
        this.cp_problems = cp_problems;
    }
                   
    // About object 
    About() : void {
        console.log("Name of Geeks: " + this.name );
        console.log("No. of articles by Geeks: "
            + this.articles);
        console.log("No. of cp problems sol by Geeks: "
            + this.cp_problems)
    }
}
var geek1 = new Geeks("Abhinav", 87, 560);
geek1.About();

Producción:

Name of Geeks: Abhinav
No. of articles by Geeks: 87
No. of cp problems sol by Geeks: 560

La diferencia entre la interfaz y las clases son las siguientes:

Interfaz

Clases

Podemos crear la interfaz con el uso de la palabra clave de interfaz.

es decir, interfaz Nombre_interfaz{ \\ Cuerpo de la interfaz }

Podemos crear la clase con la palabra clave class.

es decir, class Class_Name{ \\ Class Body }

El plano de la interfaz es principalmente la estructura Tipo del objeto. es decir, es un objeto que solo define el tipo de parámetro en su interior. La clase es el modelo del objeto, es decir, la clase de propósitos de creación es cómo implementamos el objeto de nuestro código. 
Se utiliza con fines de verificación de tipo. El uso de la interfaz si el lenguaje TypeScript se centra principalmente en verificar el tipo de parámetros en el objeto. Las clases en el script de tipos se utilizan para crear el objeto para algo. Se utiliza para implementar el objeto.
No podemos crear la instancia de interfaz con new en TypeScript. Significa que no podemos crear la copia de la instancia en Typescript. Podemos crear una nueva instancia de la clase en TypeScript. Significa que podemos crear la copia de la clase con una nueva palabra clave.
La interfaz es una estructura virtual. Significa que solo está presente en el código TypeScript, no en el código JavaScript compilado por TypeScript.  Siempre existe en el código después de la compilación de TypeScript a JavaScript. 

Publicación traducida automáticamente

Artículo escrito por satyam00so y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *