Extinderea interfețelor în OOP în TypeScript
Interfețele în TypeScript pot moșteni
unele de la altele. Această interacțiune
se numește extinderea interfețelor.
Să ne uităm la un exemplu. Să presupunem că avem
interfața ISize:
interface ISize {
height: number;
width: number;
}
Să creăm interfața IStyle, care
va extinde ISize:
interface IStyle extends ISize {
color: string;
}
Acum să creăm clasa Figure,
care implementează interfața IStyle. Clasa noastră
va trebui să implementeze atât proprietățile
interfeței în sine, cât și ale părintelui său.
Să facem acest lucru:
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;
}
}
Să verificăm funcționarea:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Creați o interfață IProgrammer cu
proprietățile salary și language.
Lăsați această interfață să moștenească IUser
cu proprietățile name, birthday.
Creați clasa Employee, care
implementează IProgrammer.