Qual è la differenza tra @Delegate e @Mixin Trasformazioni AST in Groovy.Differenza tra @Delegate e @Mixin Trasformazioni AST in Groovy
Forse la mia domanda ha a che fare con OO e quando si applicano modelli diversi, ma io li uso entrambi e posso ottenere lo stesso comportamento.
class Person {
String name = "Clark"
def walk() { "Walk" }
}
@Mixin(Person)
class Superhero {
def fly() { "Fly" }
}
def superman = new Superhero()
assert superman.name == "Clark"
assert superman.walk() == "Walk"
assert superman.fly() == "Fly"
class Person {
String name = "Clark"
def walk() { "Walk" }
}
class Superhero {
@Delegate Person person
def fly() { "Fly" }
}
def superman = new Superhero(person: new Person())
assert superman.name == "Clark"
assert superman.walk() == "Walk"
assert superman.fly() == "Fly"