Interfeisų plėtimas OOP TypeScript
Interfeisai TypeScript gali paveldėti
vienas iš kito. Toks sąveikavimas
vadinamas interfeisų plėtimu.
Pažiūrėkime pavyzdžiu. Tarkime, mes turime
interfeisą ISize:
interface ISize {
height: number;
width: number;
}
Sukurkime interfeisą IStyle, kuris
plėstų ISize:
interface IStyle extends ISize {
color: string;
}
Dabar sukurkime klasę Figure,
įgyvendinančią interfeisą IStyle. Mūsų
klasė turės įgyvendinti tiek paties interfeiso savybę,
tiek ir jo pradininko.
Padarykime tai:
class 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;
}
}
Patikrinkime veikimą:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Sukurkite interfeisą IProgrammer su
savybėmis salary ir language.
Tegul šis interfeisas paveldi IUser
su savybėmis name, birthday.
Sukurkite klasę Employee, kuri
įgyvendina IProgrammer.