Interfacce per classi OOP in TypeScript
Le interfacce in TypeScript sono ampiamente utilizzate
anche come modelli per le classi. Per
applicare un'interfaccia a una classe,
dopo il nome della classe viene scritta la parola chiave
implements e poi il nome dell'interfaccia.
In questo caso, le interfacce descrivono solo le proprietà e i metodi pubblici della classe. La parte privata viene definita nella classe stessa e non è descritta nell'interfaccia.
Proviamo nella pratica. Supponiamo di avere la seguente interfaccia, che definisce una proprietà e un metodo:
interface IUser {
name: string;
greet(): string;
}
Creiamo una classe che implementa questa interfaccia.
In questa classe dobbiamo implementare
la proprietà name e il metodo greet:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
Crea un'interfaccia IMath con le proprietà
num1 e num2 e un metodo
getDiv, che dividerà il primo
numero per il secondo.
Crea una classe Math che implementi
l'interfaccia IMath.