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