是否可以使用自定义方法为metaclass
中的对象设置groovy
?我的意思是某种动态继承......
例如像
这样的东西class Original {
def my_method() { }
}
class Meta {
def meta_method() { }
}
def obj = new Original()
obj.metaClass = new Meta()
obj.meta_method()
答案 0 :(得分:2)
您可以使用特征来实现此类事情。它比直接操纵元类
更“高级”class Original {
def my_method() { }
}
trait Meta {
def meta_method() { }
}
def obj = new Original().withTraits Meta
obj.meta_method()