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:
interface ISize {
height: number;
width: number;
}
Le të krijojmë ndërfaqen IStyle, e cila
do të zgjerojë ISize:
interface 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ë:
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;
}
}
Le të kontrollojmë funksionimin:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Krijoni një ndërfaqe IProgrammer me
vetitë salary dhe language.
Le të ndërfaqja të trashëgojë IUser
me vetitë name, birthday.
Krijoni një klasë Employee, e cila
implementon IProgrammer.