OOP-dä TypeScript-dä interfeýsleri giňeltmek
TypeScript-däki interfeýsler biri-birinden miras alyp biler. Beýle özara gatnaşyk
interfeýsleri giňeltmek diýilýär.
Mysal üçin seredeliň. Bizde ISize interfeýsi bolsun:
interface ISize {
height: number;
width: number;
}
ISize interfeýsini giňelderýän IStyle interfeýsini düzeliň:
interface IStyle extends ISize {
color: string;
}
Indi IStyle interfeýsini amala aşyrýan Figure klasyny düzeliň. Bizim
klasymyz interfeýsiň özüniň hem, onuň ata-kesiniň hem aýratynlyklaryny amala aşyrmaly bolar.
Muny edeliň:
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;
}
}
Işini barlaýalyň:
let fig = new Figure(130, 200, 'green');
console.log(fig);
salary we language aýratynlyklary bilen IProgrammer interfeýsini düzüň.
Bu interfeýs name, birthday aýratynlyklary bolan IUser interfeýsinden miras alsyn.
IProgrammer interfeýsini amala aşyrýan Employee klasyny düzüň.