我已經開始學習Groovy和我目前正在研究的元類的功能。我已經看到了添加新方法和刪除所有方法的示例,但沒有提到刪除單個方法。例如:刪除單個元類方法
String.metaClass.foo = {delegate.toUpperCase()}
String.metaClass.bar = {delegate.toLowerCase()}
具有明顯的副作用。現在我已經看到,你可以說
String.metaClass = null
要刪除所有的方法。我希望人們可以說沿着
String.metaClass.foo = null
線的東西刪除String.foo(),但有String.bar()保持,但這種說法似乎並沒有產生任何影響。有沒有辦法說方法foo()不應該再定義,而不會影響巴()或任何其他附加的方法呢?