groovy 用自己的自定义方法定义元类并为对象设置它
groovy define metaclass with its own custom methods and set it for the object
是否可以使用自定义方法为 groovy
中的对象设置 metaclass
?我的意思是类似于某种动态继承...
例如像这样的东西
class Original {
def my_method() { }
}
class Meta {
def meta_method() { }
}
def obj = new Original()
obj.metaClass = new Meta()
obj.meta_method()
你可以使用特征来实现这种事情。比直接操作元类
多一点"high level"
class Original {
def my_method() { }
}
trait Meta {
def meta_method() { }
}
def obj = new Original().withTraits Meta
obj.meta_method()
是否可以使用自定义方法为 groovy
中的对象设置 metaclass
?我的意思是类似于某种动态继承...
例如像这样的东西
class Original {
def my_method() { }
}
class Meta {
def meta_method() { }
}
def obj = new Original()
obj.metaClass = new Meta()
obj.meta_method()
你可以使用特征来实现这种事情。比直接操作元类
多一点"high level"class Original {
def my_method() { }
}
trait Meta {
def meta_method() { }
}
def obj = new Original().withTraits Meta
obj.meta_method()