Kupanua Interfaces katika OOP katika TypeScript

Interfaces katika TypeScript zinaweza kurithi kutoka kwa kila mmoja. Mwingiliano kama huo unaitwa kupanua interfaces. Hebu tuangalie kwa mfano. Hebu tuseme tuna interface ISize:

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

Tufanye interface IStyle, ambayo itapanua ISize:

typescriptinterface IStyle extends ISize {
  color: string;
}

Sasa hebu tuunde darasa Figure, linalotekeleza interface IStyle. Darasa letu litahitaji kutekeleza sifa ya interface yenyewe, na ya mzazi wake. Tufanye hivi:

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

Hebu tuangalie utendaji:

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

Unda interface IProgrammer iliyo na sifa salary na language. Acha interface hii irithi IUser iliyo na sifa name, birthday.

Задание 2

Fanya darasa Employee ambalo linatekeleza IProgrammer.