TypeScriptda OOPda Interfeyslarni Kengaytirish
TypeScriptdagi interfeyslar bir-biridan
meros olishi mumkin. Bunday o'zaro ta'sir
interfeyslarni kengaytirish deb ataladi.
Keling, buni misolda ko'ramiz. Faraz qilaylik, bizda
ISize interfeysi mavjud:
interface ISize {
height: number;
width: number;
}
Keling, ISize ni kengaytiradigan
IStyle interfeysini yarataylik:
interface IStyle extends ISize {
color: string;
}
Endi IStyle interfeysini amalga oshiradigan
Figure klassini yarataylik. Bizning
klassimiz o'zining ham, uning ota-onasining ham xususiyatlarini
amalga oshirishi kerak bo'ladi.
Buni amalga oshiramiz:
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;
}
}
Ishlashini tekshiramiz:
let fig = new Figure(130, 200, 'green');
console.log(fig);
salary va language xususiyatlariga ega
IProgrammer interfeysini yarating.
Ushbu interfeys name, birthday xususiyatlariga ega
IUser dan meros olsin.
IProgrammer ni amalga oshiradigan
Employee klassini yarating.