Udvidelse af grænseflader i OOP i TypeScript
Grænseflader i TypeScript kan arve
fra hinanden. Denne type interaktion
kaldes udvidelse af grænseflader.
Lad os se på et eksempel. Lad os sige, at vi
har en grænseflade ISize:
interface ISize {
height: number;
width: number;
}
Lad os lave en grænseflade IStyle, som
udvider ISize:
interface IStyle extends ISize {
color: string;
}
Lad os nu oprette en klasse Figure,
der implementerer grænsefladen IStyle. Vores
klasse bliver nødt til at implementere både egenskaben
fra grænsefladen selv og fra dens forælder.
Lad os gøre det:
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;
}
}
Lad os tjekke, hvordan det virker:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Opret en grænseflade IProgrammer med
egenskaberne salary og language.
Lad denne grænseflade arve fra IUser
med egenskaberne name, birthday.
Lav en klasse Employee, som
implementerer IProgrammer.