Junior — Middle
Quelles sont les conséquences si la structure de données n'implémente pas l'interface donnée en programmation orientée objet?
sobes.tech IA
Réponse de l'IA
En Go, les interfaces sont implémentées de manière implicite : si une structure contient toutes les méthodes de l'interface, elle l'implémente. Si la structure n'implémente pas l'interface donnée, alors :
- Le compilateur générera une erreur lors de l'utilisation de cette structure comme valeur du type d'interface.
- Cela empêche les erreurs d'exécution, car Go vérifie strictement la conformité aux interfaces lors de la compilation.
Par exemple, si vous avez une interface :
type Reader interface {
Read(p []byte) (n int, err error)
}
Et une structure :
type MyStruct struct {}
// Pas de méthode Read, donc MyStruct n'implémente pas Reader
Tenter d'assigner MyStruct à une variable de type Reader entraînera une erreur de compilation.
Ainsi, si la structure n'implémente pas l'interface, vous ne pourrez pas l'utiliser là où cette interface est attendue, ce qui aide à éviter les erreurs logiques dans le programme.