TypeScriptтеги ООПде интерфейсдерди кеңейтүү
TypeScriptтеги интерфейсдер бири-биринен мураса ала алат.
Бул өз ара аракеттениш интерфейсдердин
кеңейтилиши деп аталат.
Келгиле, мисал аркылуу карайлы. Бизде ISize интерфейси бар болсун:
interface ISize {
height: number;
width: number;
}
ISizeты кеңейткен IStyle интерфейсин жасайлы:
interface IStyle extends ISize {
color: string;
}
Эми IStyle интерфейсин ишке ашырган Figure классты түзөлү.
Биздин класс интерфейстин өзүнүн касиетинин, ошондой эле ата-энесинин касиетин ишке ашырышы керек.
Муну жасайлы:
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, 'жашыл');
console.log(fig);
salary жана language касиеттери менен IProgrammer интерфейсин түзүңүз.
Бул интерфейс name, birthday касиеттери менен IUser интерфейсинен мураса алсын.
IProgrammer интерфейсин ишке ашырган Employee классты жасаңыз.