Interface
Syntaxe
Idem classe abstraite avec :
Que des membres abstraits, définis par leur signature
Sans l'attribut
[<AbstractClass>]
Avec l'attribut
[<Interface>]
de manière optionnelle
Le nom d'une interface commence par
I
pour suivre la convention .NETLes arguments des méthodes peuvent être nommés :
On peut aussi utiliser la syntaxe verbeuse avec un bloc interface ... end
,
→ Non idiomatique sauf dans le cas d'une interface sans membre a.k.a marker interface.
Implémentation
2 manières d'implémenter une interface :
Dans un type (comme en C♯)
Dans une expression objet 📍
Dans un type
Dans une expression objet
Implémentation par défaut
F♯ 5.0 supporte les interfaces définissant des méthodes avec implémentations par défaut écrites en C♯ 8+ mais ne permet pas de les définir.
Une interface F♯ est explicite
Implémentation d'une interface en F♯ ≡ Implémentation explicite d'une interface en C♯
→ Les méthodes de l'interface ne sont consommables que par upcasting :
Implémenter une interface générique
Héritage
Défini avec mot clé inherit
Dernière mise à jour
Cet article vous a-t-il été utile ?