是否有充分的理由使用元编程来修改方法的返回类型?

时间:2011-01-03 17:43:47

标签: groovy metaprogramming

假设您有方法:

boolean test() { return true; }

使用元编程来改变它以返回字符串是不是一个好主意:

String test() {return "test"}

我认为使用元编程是令人困惑的,应该避免,因为它改变了调用代码所期望的公共接口。有没有人有一个什么时候这个好主意的例子?

1 个答案:

答案 0 :(得分:1)

我认为如果你动态返回不同的类型,那么只需将方法返回类型设置为def就更有意义了,如:

def test() {
   if (something) {
        return true
   } else {
        return 'test'
   }
}

所以回答你的问题,不,我认为这不是一个好主意。 :)