Interfaces para clases POO en TypeScript
Las interfaces en TypeScript también se utilizan ampliamente
como plantillas y para clases. Para
aplicar la interfaz requerida a una clase,
después del nombre de la clase se escribe la palabra clave
implements y luego el nombre de la interfaz.
Al mismo tiempo, las interfaces describen solo las propiedades y métodos públicos de la clase. La parte privada se define en la clase misma y no se describe en la interfaz.
Probemos en la práctica. Supongamos que tenemos la siguiente interfaz, que define una propiedad y un método:
interface IUser {
name: string;
greet(): string;
}
Hagamos una clase que implemente esta interfaz.
En esta clase debemos tener implementados
la propiedad name y el método greet:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
Cree una interfaz IMath con las propiedades
num1 y num2 y un método
getDiv, que dividirá el primer
número por el segundo.
Cree una clase Math que implemente
la interfaz IMath.