Remplacement de méthode Golang
Dans Go, le concept de remplacement de méthode est réalisé à l'aide d'interfaces plutôt que par l'héritage comme en Java. Les interfaces définissent un contrat de méthodes sans préciser leur implémentation.
Implémentation du remplacement de méthode dans Go :
Utilisation des interfaces :
Exemple :
// Interface for Get() method type Getter interface { Get() string } // Base type with original implementation type Base struct{} func (base *Base) Get() string { return "base" } // Custom type with overriding implementation type Sub struct { Base } func (sub *Sub) Get() string { return "Sub" }
Avantage :
Approche alternative utilisant la composition :
Exemple :
// Sub type with composition type Sub struct { Base custom string } func (sub *Sub) Get() string { // Access the original method via embedded Base if sub.custom == "" { return sub.Base.Get() } return sub.custom }
Avantage :
Remarque :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!