Interfaces para classes de POO em TypeScript
Interfaces em TypeScript são amplamente utilizadas
tanto como modelos quanto para classes. Para
aplicar uma interface a uma classe,
a palavra-chave implements é escrita após o nome da classe
e, em seguida, o nome da interface.
Além disso, as interfaces descrevem apenas as propriedades e métodos públicos da classe. A parte privada é definida na própria classe e não é descrita na interface.
Vamos tentar na prática. Suponha que temos a seguinte interface, definindo uma propriedade e um método:
interface IUser {
name: string;
greet(): string;
}
Vamos criar uma classe que implementa esta interface.
Nesta classe, devemos ter implementados
a propriedade name e o método greet:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
Crie uma interface IMath com as propriedades
num1 e num2 e um método
getDiv, que irá dividir o primeiro
número pelo segundo.
Faça uma classe Math que implementa
a interface IMath.