class Person { String name String age def pretty = { "My name is $name, I'm $age" } } class Thing { String name } def p = new Person(name: 'Sarah', age: '1') def t = [name: 'Teapot'] //as Thing println p.pretty() p.pretty.delegate = t println p.pretty() p.pretty.resolveStrategy = Closure.DELEGATE_FIRST println p.pretty()