Proširenje interfejsa u OOP-u u TypeScript-u
Interfejsi u TypeScript-u mogu da nasleđuju
jedan od drugog. Takva interakcija
se naziva proširenjem interfejsa.
Pogledajmo na primeru. Neka imamo
interfejs ISize:
interface ISize {
height: number;
width: number;
}
Napravimo interfejs IStyle, koji
će proširiti ISize:
interface IStyle extends ISize {
color: string;
}
Sada hajde da napravimo klasu Figure,
koja implementira interfejs IStyle. Naša
klasa će morati da implementira i svojstvo
samog interfejsa i svojstva njegovog roditelja.
Učinimo to:
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;
}
}
Proverimo rad:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Napravite interfejs IProgrammer sa
svojstvima salary i language.
Neka ovaj interfejs nasleđuje IUser
sa svojstvima name, birthday.
Napravite klasu Employee, koja
implementira IProgrammer.