web-dev-qa-db-fra.com

Traits, héritage et interfaces à Groovy, quand les utiliser?

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?

10
Ryan Stull

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.

4
fxfour