Проширување на интерфејси во ООП во TypeScript
Интерфејсите во TypeScript можат да наследуваат
еден од друг. Таквата интеракција
се нарекува проширување на интерфејси.
Ајде да погледнеме на пример. Нека имаме
интерфејс ISize:
interface ISize {
height: number;
width: number;
}
Да направиме интерфејс IStyle, кој
ќе го прошири ISize:
interface IStyle extends ISize {
color: string;
}
Сега ајде да создадеме класа Figure,
која ја имплементира интерфејсот IStyle. Нашата
класа ќе треба да ги имплементира и својството
на самиот интерфејс, и на неговиот родител.
Да го направиме ова:
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;
}
}
Да ја провериме работата:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Создадете интерфејс IProgrammer со
својства salary и language.
Нека овој интерфејс наследува од IUser
со својства name, birthday.
Направете класа Employee, која
ја имплементира IProgrammer.