É possivel mudar a declaração de uma classe em tempo se Execução? Como fazer?
17/07/2014 07:01
Estava lendo um post do Kico sobre Closure e no exemplo ele definia duas classes e uma closure assim :
class Classe1 {
def closureClasse1
}
class Classe2 {
def closureClasse2
}
def closure = {
println "Sou uma closure bem promíscua"
}
Classe1 classe1 = new Classe1()
Classe2 classe2 = new Classe2()
classe1.closure = closure
classe2.closure = classe1.closure
Porém minha duvida ficou no momento em que o comportamento das closures dos objecto é alterado. Pois no trecho:
classe1.closure = closure
classe2.closure = classe1.closure
a propriedade "closure" não foi definida na criação da classe, então o que deveria ocorrer? Um erro por não existir a propriedade que estamos tentando acessar ou esta nova propriedade será criada em tempo de execução?
Tags:
Closure