Groovy - Meta Programming - Expando Class

Expando ex new Expando()
ex.name 'Fido'
ex.speak println "$name says Woof!" }
ex.speak()

class Cat {}
Cat.metaClass.name 'Garfield'
Cat.metaClass.says 'wants lasagna'
Cat.metaClass.speak println "$name $says" }
Cat new Cat()
c.speak()

c.name 'Fluffy'
c.says 'meow'
c.speak()

Comments

Popular posts from this blog

அவன் ஏன் கூலியானான்?

தட்டு வண்டியில் காளிக்கோயில் - சிறுகதை

படையப்பாவும் ஹெர்குலசும்