Liideste laiendamine OOP-s TypeScriptis
TypeScripti liidesed võivad üksteiselt pärida.
Sellist suhet
nimetatakse liideste laiendamiseks.
Vaatame näidet. Olgu meil liides ISize:
interface ISize {
height: number;
width: number;
}
Teeme liidese IStyle, mis
laiendab ISize:
interface IStyle extends ISize {
color: string;
}
Nüüd loome klassi Figure,
mis rakendab liidest IStyle. Meie
klass peab rakendama nii liidese enda
omaduse kui ka selle vanema omaduse.
Teeme selle:
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;
}
}
Kontrollime tööd:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Loo liides IProgrammer koos
omadustega salary ja language.
Las see liides pärib IUser
koos omadustega name, birthday.
Tee klass Employee, mis
rakendab IProgrammer.