J'apprends Groovy et je viens d'apprendre à propos de la nouvelle fonctionnalité ajoutée en 2.3, qui est l'ajout de traits. Maintenant, cela semble que les traits vous permettent de faire fondamentalement tout une super-classe et une interface peut faire.
L'ajout de traits à groovy rend-il héritage et interfaces obsolètes?
Et sinon, quel est le meilleur moment pour utiliser chacun de ces mécanismes?
Les traits combinent le meilleur des deux mondes - l'héritage des classes (abstraites) et la mise en œuvre d'interfaces. Un trait peut contenir des implémentations par défaut de méthodes et un type peut mettre en œuvre plusieurs traits à la fois. Cela permet une sorte de héritage multiple, mais d'un bon sens, en évitant le diamant mortel de la mort .
Si vous ne savez pas comment démarrer, utilisez des traits. Vous gagnez de la flexibilité et peut passer aux interfaces ou au héritage de classe plus tard si nécessaire.