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:

typescriptinterface ISize {
  height: number;
  width: number;
}

ISize interfeýsini giňelderýän IStyle interfeýsini düzeliň:

typescriptinterface 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ň:

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;
  }
}

Işini barlaýalyň:

typescriptlet fig = new Figure(130, 200, 'green');
console.log(fig);
Задание 1

salary we language aýratynlyklary bilen IProgrammer interfeýsini düzüň. Bu interfeýs name, birthday aýratynlyklary bolan IUser interfeýsinden miras alsyn.

Задание 2

IProgrammer interfeýsini amala aşyrýan Employee klasyny düzüň.