groovy使用自己的自定义方法定义元类,并为对象设置元类

groovy使用自己的自定义方法定义元类,并为对象设置元类,groovy,metaclass,Groovy,Metaclass,是否可以使用其自定义方法为groovy中的对象设置metaclass?我的意思是某种动态继承 举个例子 class Original { def my_method() { } } class Meta { def meta_method() { } } def obj = new Original() obj.metaClass = new Meta() obj.meta_method() 你可以利用特质来完成这类事情。这比直接操纵元类更“高级” ​class Orig

是否可以使用其自定义方法为
groovy
中的对象设置
metaclass
?我的意思是某种动态继承

举个例子

class Original {
    def my_method() { }
}

class Meta {
    def meta_method() { }
}

def obj = new Original()
obj.metaClass = new Meta()

obj.meta_method()

你可以利用特质来完成这类事情。这比直接操纵元类更“高级”

​class Original {
  def my_method() { } 
}  

trait Meta {
  def meta_method() { } 
}  

def obj = new Original()​.withTraits Meta
​obj.meta_method()​
见: