Uitbreiding van koppelvlakke in OOP in TypeScript

Koppelvlakke in TypeScript kan van mekaar oorerf. Sodanige interaksie word uitbreiding van koppelvlakke genoem. Kom ons kyk na 'n voorbeeld. Gestel ons het 'n koppelvlak ISize:

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

Kom ons maak die koppelvlak IStyle, wat ISize sal uitbrei:

typescriptinterface IStyle extends ISize {
  color: string;
}

Kom ons skep nou 'n klas Figure, wat die koppelvlak IStyle implementeer. Ons klas sal sowel die eienskap van die koppelvlak self as sy ouer moet implementeer. Kom ons doen dit:

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

Kom ons toets die werking:

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

Skep 'n koppelvlak IProgrammer met eienskappe salary en language. Laat hierdie koppelvlak van IUser oorerf met eienskappe name, birthday.

Задание 2

Maak 'n klas Employee wat IProgrammer implementeer.