Interfészek az OOP osztályokhoz TypeScriptben
A TypeScriptben az interfészek széles körben használatosak
mint sablonok az osztályokhoz is. Ahhoz, hogy egy osztályra
alkalmazzuk a kívánt interfészt, az osztály neve után
írjuk a implements kulcsszót, majd az interfész nevét.
Ebben az esetben az interfészek csak az osztály publikus tulajdonságait és metódusait írják le. A privát részt magában az osztályban határozzuk meg, és az interfészben nincs leírva.
Próbáljuk ki a gyakorlatban. Tegyük fel, hogy a következő interfészünk van, amely meghatároz egy tulajdonságot és egy metódust:
interface IUser {
name: string;
greet(): string;
}
Készítsünk egy osztályt, amely megvalósítja ezt az interfészt.
Ennek az osztálynak rendelkeznie kell a
name tulajdonsággal és a greet metódussal:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
Hozzon létre egy IMath interfészt a következő tulajdonságokkal:
num1 és num2, valamint egy getDiv metódussal,
amely az első számot elosztja a másodikkal.
Készítsen egy Math osztályt, amely megvalósítja
a IMath interfészt.