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:
typescriptinterface ISize {
height: number;
width: number;
}
Să creăm interfața IStyle, care
va extinde ISize:
typescriptinterface 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:
typescriptclass 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:
typescriptlet fig = new Figure(130, 200, 'green');
console.log(fig);
Задание 1
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.
Задание 2
Creați clasa Employee, care
implementează IProgrammer.