Utvidelse av grensesnitt i OOP i TypeScript
Grensesnitt i TypeScript kan arve
fra hverandre. Denne interaksjonen
kalles utvidelse av grensesnitt.
La oss se på et eksempel. La oss si at vi
har et grensesnitt ISize:
interface ISize {
height: number;
width: number;
}
La oss lage et grensesnitt IStyle, som
utvider ISize:
interface IStyle extends ISize {
color: string;
}
La oss nå lage en klasse Figure,
som implementerer grensesnittet IStyle. Vår
klasse må implementere både egenskapene
til selve grensesnittet og dets forelder.
La oss gjøre dette:
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;
}
}
La oss teste funksjonaliteten:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Opprett et grensesnitt IProgrammer med
egenskapene salary og language.
La dette grensesnittet arve fra IUser
med egenskapene name, birthday.
Lag en klasse Employee, som
implementerer IProgrammer.