我是this指南的groovy和学习闭包的新手。
每当在闭包中访问属性而不显式设置接收者对象时,就会涉及委派策略。
不应该返回ALLAUDIN
。我在哪里做错了?
class Example {
class Person {
String name
Person(String name){
this.name = name
}
}
class Thing {
String name
Thing(String name){
this.name = name
}
}
static void main(String[] args){
Example e = new Example();
def p = new Person(e, 'allaudin')
def t = new Thing(e, 'laptop')
def getUpperName = { name.toUpperCase() }
getUpperName.delegate = p
println getUpperName() // EXAMPLE
}
}
答案 0 :(得分:3)