Τα παραδείγματα κώδικα σε αυτήν την απάντηση αναλάβει την ακόλουθη δήλωση:
var implementation: MyInterface;
Παρέχοντας μια εφαρμογή απαιτητών διεπαφής
Ως συνέχεια της την αποδεκτή απάντηση , όπως προτείνεται από ορισμένα από τα commentors της, μια λειτουργία που ταιριάζει με την υπογραφή κλήση της διεπαφής υλοποιεί έμμεσα το περιβάλλον. Έτσι, μπορείτε να χρησιμοποιήσετε οποιαδήποτε λειτουργία αντιστοίχισης ως εφαρμογή.
Για παράδειγμα:
implementation = () => "Hello";
Δεν χρειάζεται να ορίσετε ρητά ότι η λειτουργία υλοποιεί το περιβάλλον. Ωστόσο, αν θέλετε να είναι ρητή, μπορείτε να χρησιμοποιήσετε ένα καστ:
implementation = <MyInterface>() => "Hello";
Παρέχοντας ένα επαναχρησιμοποιήσιμο εφαρμογή
Αν θέλετε να παράγει μια επαναχρησιμοποιήσιμη εφαρμογή της διεπαφής, όπως θα κάνατε κανονικά με Java ή C # interface, απλά αποθηκεύει τη λειτουργία κάπου προσιτή στους καταναλωτές της.
Για παράδειγμα:
function Greet() {
return "Hello";
}
implementation = Greet;
Η παροχή ενός παραμετροποιηθούν εφαρμογή
Μπορεί να θέλετε να είναι σε θέση να παραμετροποιήσετε την εφαρμογή με τον ίδιο τρόπο που μπορείτε να παραμετροποιήσετε μια τάξη. Εδώ είναι ένας τρόπος για να γίνει αυτό:
function MakeGreeter(greeting: string) {
return () => greeting;
}
implementation = MakeGreeter("Hello");
Αν θέλετε το αποτέλεσμα να είναι δακτυλογραφημένες ως διεπαφή, μόνο που ρητά τον τύπο επιστροφής ή ρίχνει την τιμή που επιστρέφεται.