Пашырэнне інтэрфейсаў у ААП у 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.