Exemplele de cod din acest răspuns presupunem următoarea declarație:
var implementation: MyInterface;
Furnizarea o implementare a unei interfețe apelabile
Ca urmare a răspunsului acceptat , după cum a sugerat de către unii dintre ei comentatori, o funcție care se potrivește cu semnătura apelului interfața implementeaza implicit interfata. Astfel , puteți utiliza orice funcție de potrivire ca o punere în aplicare.
De exemplu:
implementation = () => "Hello";
Nu trebuie să specificați în mod explicit că funcția implementează interfața. Cu toate acestea, dacă doriți să fie explicite, puteți utiliza o distributie:
implementation = <MyInterface>() => "Hello";
Asigurarea unei implementări reutilizabile
Dacă doriți să producă o implementare reutilizabil a interfetei ca tine in mod normal ar fi cu o interfață # Java sau C, păstrează doar funcția undeva accesibilă consumatorilor săi.
De exemplu:
function Greet() {
return "Hello";
}
implementation = Greet;
Asigurarea unei implementări parametrizat
Este posibil să doriți să fie în măsură să parameterise punerea în aplicare în același mod în care s-ar putea parameterise o clasă. Iată un mod de a face acest lucru:
function MakeGreeter(greeting: string) {
return () => greeting;
}
implementation = MakeGreeter("Hello");
Dacă doriți ca rezultatul să fie tastat ca interfata, trebuie doar să setați în mod explicit tipul de întoarcere sau aruncat valoarea fiind returnată.