Estoy aprendiendo de maravilla y acabo de enterarme de la nueva característica agregada en 2.3, que es la adición de Rasgos . Ahora para mí, parece que los Rasgos le permiten hacer básicamente todo lo que una superclase y una interfaz pueden hacer.
¿La incorporación de Rasgos a Groovy hace que la herencia y las interfaces sean obsoletas?
Y si no, ¿cuál es el mejor momento para usar cada uno de estos mecanismos?
interfaces
inheritance
groovy
Ryan Stull
fuente
fuente
Respuestas:
Los rasgos combinan lo mejor de ambos mundos: la herencia de clases (abstractas) y la implementación de interfaces. Un rasgo puede contener implementaciones predeterminadas de métodos y, sin embargo, un tipo puede implementar múltiples rasgos a la vez. Esto permite algún tipo de herencia múltiple, pero en el buen sentido, evitando el diamante mortal de la muerte .
Si no sabes cómo empezar, usa rasgos. Obtiene flexibilidad y puede cambiar a interfaces o herencia de clases más adelante si es necesario.
fuente