Zgjerimi i Ndërfaqeve në OOP në TypeScript

Ndërfaqet në TypeScript mund të trashëgojnë njëra nga tjetra. Ky ndërveprim quhet zgjerim i ndërfaqeve. Le të shohim një shembull. Le të themi se kemi ndërfaqen ISize:

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

Le të krijojmë ndërfaqen IStyle, e cila do të zgjerojë ISize:

typescriptinterface IStyle extends ISize {
  color: string;
}

Tani le të krijojmë një klasë Figure, që implementon ndërfaqen IStyle. Klasa jona do të duhet të implementojë si vetitë e ndërfaqes vetë, ashtu edhe ato të prindit. Le ta bëjmë këtë:

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

Le të kontrollojmë funksionimin:

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

Krijoni një ndërfaqe IProgrammer me vetitë salary dhe language. Le të ndërfaqja të trashëgojë IUser me vetitë name, birthday.

Задание 2

Krijoni një klasë Employee, e cila implementon IProgrammer.