En scala, on ne peut pas étendre `` :
donne une erreur ``
Dans mon cas, quelqu’un a défini une fonctionnalité dans un objet et je dois l’étendre (en gros ajouter une autre méthode). Quel serait le moyen le plus simple d’étendre cet objet ?
En scala, on ne peut pas étendre `` :
donne une erreur ``
Dans mon cas, quelqu’un a défini une fonctionnalité dans un objet et je dois l’étendre (en gros ajouter une autre méthode). Quel serait le moyen le plus simple d’étendre cet objet ?
Comme souvent, la bonne réponse dépend des besoins réels de l’entreprise. S’étendre à partir d’un objet défierait en quelque sorte le but de cet objet puisqu’il ne serait plus un singleton.
Ce qui pourrait être une solution est d’extraire le comportement dans un trait abstrait. Et créez des objets étendant ce trait comme ceci:
Vous ne pouvez pas réellement étendre un objet, car cela en créerait deux, et un objet par définition n’existe qu’une seule fois (modifier: eh bien, ce n’est pas tout à fait vrai, car la définition de l’objet peut être dans une classe ou une méthode).
Pour vos besoins, essayez ceci :
Il ne s’étend pas réellement, mais il vous permet d’appeler de nouvelles méthodes que celles définies à l’origine.
Notez qu’à partir de `` , vous pouvez également utiliser la composition (au lieu de l’héritage) via des clauses d’exportation qui permettent de définir des alias pour les membres sélectionnés d’un objet :
Notez que vous pouvez également restreindre les membres que vous souhaitez exporter :
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.