Interfészek bővítése az OOP-ben TypeScript-ben

A TypeScript-ben az interfészek örökölhetnek egymástól. Ezt az interakciót interfészek bővítésének nevezzük. Nézzünk egy példát. Tegyük fel, hogy van egy ISize interfészünk:

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

Készítsünk egy IStyle interfészt, amely kiterjeszti a ISize interfészt:

typescriptinterface IStyle extends ISize {
  color: string;
}

Most készítsünk egy Figure osztályt, amely megvalósítja a IStyle interfészt. Az osztályunknak meg kell valósítania mind az interfész saját tulajdonságát, mind a szülőjének a tulajdonságát. Valósítsuk meg ezt:

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

Ellenőrizzük a működést:

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

Hozzon létre egy IProgrammer interfészt a salary és language tulajdonságokkal. Legyen ez az interfész a IUser interfészből származtatva, amelynek name, birthday tulajdonságai vannak.

Задание 2

Készítsen egy Employee osztályt, amely megvalósítja a IProgrammer interfészt.