Razširjanje vmesnikov v OOP v TypeScript
Vmesniki v TypeScript lahko dedujejo
drug od drugega. Takšno interakcijo
imenujemo razširjanje vmesnikov.
Poglejmo si na primeru. Recimo, da imamo
vmesnik ISize:
interface ISize {
height: number;
width: number;
}
Naredimo vmesnik IStyle, ki
bo razširjal ISize:
interface IStyle extends ISize {
color: string;
}
Zdaj naredimo razred Figure,
ki implementira vmesnik IStyle. Naš
razred bo moral implementirati tako lastnost
samega vmesnika, kot tudi njegovega starša.
Naredimo to:
class Figure implements IStyle {
height: number;
width: number;
color: string;
constructor(height: number, width: number, color: string) {
this.height = height;
this.width = width;
this.color = color;
}
}
Preverimo delovanje:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Ustvarite vmesnik IProgrammer z
lastnostmi salary in language.
Naj ta vmesnik deduje IUser
z lastnostmi name, birthday.
Naredite razred Employee, ki
implementira IProgrammer.