Creazione di interfacce
In TypeScript, le interfacce possono essere create utilizzando la sintassi interface InterfaceName { ... }
. Le interfacce possono essere utilizzate per definire un contratto per gli oggetti e per garantire che gli oggetti implementino determinate proprietà e metodi.
interface Person {
name: string;
age: number;
hello(): void;
}
Implementazione di interfacce
In TypeScript, le interfacce possono essere implementate dalle classi utilizzando la sintassi class ClassName implements InterfaceName { ... }
. Ciò garantisce che la classe implementi tutte le proprietà e i metodi dell’interfaccia.
class Student implements Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
hello() {
console.log(`Ciao, sono ${this.name} e ho ${this.age} anni.`);
}
}
Utilizzo di interfacce per la tipizzazione
In TypeScript, le interfacce possono essere utilizzate per la tipizzazione degli oggetti. Ciò consente di specificare il tipo di un oggetto utilizzando un’interfaccia e di garantire che l’oggetto implementi tutte le proprietà e i metodi dell’interfaccia.
function greetPerson(person: Person) {
person.greet();
}
let student = new Student("Giovanni Pace", 36);
greetPerson(student); // Student implementa l'interfaccia Person
In questo esempio, la funzione greetPerson
accetta un argomento di tipo Person
, il che significa che può accettare qualsiasi oggetto che implementi l’interfaccia Person
. L’oggetto student
viene creato come un’istanza della classe Student
, che implementa l’interfaccia Person
, quindi può essere passato alla funzione greetPerson
.