¿Cuándo usar interfaces y cuándo usar clases en TypeScript?

TypeScript admite características de programación orientada a objetos como clases e interfaces, etc. Las clases son los esqueletos del objeto. encapsula los datos que se utilizan en los objetos. Las interfaces son como tipos de clases en TypeScript. Se utiliza para la verificación de tipos. Solo contiene la declaración de los miembros del objeto. Ayuda a derivar las clases. 

Cuándo usar la interfaz en TypeScript:

Deberíamos usar la interfaz en TypeScript para validar la estructura de un objeto en el caso de que estemos creando un objeto, pasándolo como parámetro. La interfaz solo está disponible en código TypeScript cuando compila código JavaScript, su existencia desaparece, no hace que nuestro código fuente final sea más pesado. Deberíamos usar la interfaz cuando queramos que se escriba la verificación, pero no queremos que nuestro código se vuelva voluminoso. En tal caso, deberíamos usar Interface en nuestro código. 

Sintaxis:

// Declaring Interface
interface Interface_name {
    ...
} 

Ejemplo: El siguiente ejemplo ilustrará el uso de la interfaz en TypeScript.

Javascript

interface Example {
    Name_should: string;
    Number_should: number;
}
  
class Class_Example implements Example {
  
    Name_should: string;
    Number_should: number;
    constructor(Name_should: string, 
    Number_should: number) {
        this.Name_should = Name_should;
        this.Number_should = Number_should;
    }
  
}
var k = new Class_Example("Interface", 1);
console.log(k);

Producción:

Class_Example { Name_should: 'Interface', Number_should: 1 }

Hemos visto cuándo usar la interfaz, ahora discutamos cuándo usar las clases en TypeScript:

Cuándo usar clases en TypeScript:

anLa fábricaalgofuncionesagrupadoa,es flexibilidad

Sintaxis:

// Declaring Classes
class Class_name {
    ...
}

Ejemplo: El siguiente ejemplo ilustrará el uso de las clases en TypeScript.

Javascript

var Name = "Geeks1";
var Number1 = 33;
class Class_Example {
  
    Name: string;
    Number: number;
    constructor(Name: string, Number: number) {
        this.Name = Name;
        this.Number = Number1;
    }
  
  
}
var k = new Class_Example("Geeks2", 1);
  
console.log(k.Name);
console.log(Name);
console.log(k.Number);
console.log(Number1);

Producción:

Geeks2
Geeks1
1
33

Caso 2: Las clases brindan las características de la programación orientada a objetos. Por lo tanto, hace que nuestro código sea más usable, mantenible y escalable, por lo que en tal caso deberíamos usar clases en TypeScript. Su funcionalidad de clases es útil para manejar la gran base de código con eficiencia. Entonces, cuando necesitamos manejar código grande y queremos estas funciones de clases, debemos usar clases. Por ejemplo, podemos ver el ejemplo de herencia de clase. 

Ejemplo: El siguiente ejemplo ilustrará el uso de las clases en TypeScript.

Javascript

class vehicle {
  
    Company_Name: string;
    Number: number;
    constructor(Company_Name: string, Number: number) {
        this.Company_Namclass vehicle {
  
            Company_Name: string;
            Number: number;
            constructor(Company_Name: string, Number: number) {
                this.Company_Name = Company_Name;
                this.Number = Number;
            }
        }
        class car extends vehicle {
            name: string;
            Number: number;
            wheel: number;
            fuel: string;
            constructor(name: string, Number: number,
                wheel: number, fuel: string) {
                super(name, Number);
                this.wheel = wheel;
                this.fuel = fuel;
            }
        }
        var k = new car("toyota", 9243, 4, "Geeks2");
        e = Company_Name;
        this.Number = Number;
    }
}
class car extends vehicle {
    name: string;
    Number: number;
    wheel: number;
    fuel: string;
    constructor(name: string, Number: number,
        wheel: number, fuel: string) {
        super(name, Number);
        this.wheel = wheel;
        this.fuel = fuel;
    }
}
var k = new car("toyota", 9243, 4, "Geeks2");

Producción:

car { 
    Company_Name: 'toyota', 
    Number: 9243, 
    wheel: 4, 
    fuel: 'Geeks2' 
}

Ventaja de las clases y la interfaz:

                                      Clases                                  Interfaz

Las clases proporcionan herencia que permite a las clases tomar prestadas propiedades.

de una clase a otra.

La interfaz también proporciona propiedades de herencia. 
Las clases admiten la anulación del método, lo que ayuda en la redefinición de funciones. Se fusiona con la Interfaz con el mismo número.

Las clases proporcionan un método estático que hace que la función de las clases se use sin declaración.

No aumenta el tamaño del archivo fuente porque es una estructura virtual. 

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 *