Rozšiřování rozhraní v OOP v TypeScriptu
Rozhraní v TypeScriptu mohou dědit
jedna od druhé. Taková interakce
se nazývá rozšiřování rozhraní.
Podívejme se na příklad. Předpokládejme, že máme
rozhraní ISize:
interface ISize {
height: number;
width: number;
}
Vytvořme rozhraní IStyle, které
bude rozšiřovat ISize:
interface IStyle extends ISize {
color: string;
}
Nyní vytvořme třídu Figure,
implementující rozhraní IStyle. Naše
třída bude muset implementovat jak vlastnost
samotného rozhraní, tak i jeho rodiče.
Pojďme na 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;
}
}
Ověřme funkčnost:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Vytvořte rozhraní IProgrammer s
vlastnostmi salary a language.
Nechť toto rozhraní dědí od IUser
s vlastnostmi name, birthday.
Vytvořte třídu Employee, která
implementuje IProgrammer.