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:
interface ISize {
height: number;
width: number;
}
Készítsünk egy IStyle interfészt, amely
kiterjeszti a ISize interfészt:
interface 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:
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;
}
}
Ellenőrizzük a működést:
let fig = new Figure(130, 200, 'green');
console.log(fig);
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.
Készítsen egy Employee osztályt, amely
megvalósítja a IProgrammer interfészt.