Интерфейсҳоро дар ООП дар 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-ро амалӣ мекунад.