J'apprends le groovy et je viens d'apprendre la nouvelle fonctionnalité ajoutée en 2.3, qui est l'ajout de Traits . Maintenant, il me semble que les Traits vous permettent de faire essentiellement tout ce qu'une super-classe et une interface peuvent faire.
L'ajout de Traits à Groovy rend-il l'héritage et les interfaces obsolètes?
Et sinon, quel est le meilleur moment pour utiliser chacun de ces mécanismes?
interfaces
inheritance
groovy
Ryan Stull
la source
la source
Réponses:
Les traits combinent le meilleur des deux mondes - l'héritage de classes (abstraites) et l'implémentation d'interfaces. Un trait peut contenir des implémentations par défaut de méthodes et pourtant un type peut implémenter plusieurs traits à la fois. Cela permet une sorte d'héritage multiple, mais dans le bon sens, en évitant le diamant mortel de la mort .
Si vous ne savez pas par où commencer, utilisez des traits. Vous gagnez en flexibilité et pouvez basculer vers les interfaces ou l'héritage de classe ultérieurement si nécessaire.
la source