返回介绍

7. Getter 与 Setter

发布于 2025-01-04 00:44:56 字数 950 浏览 0 评论 0 收藏 0

Groovy 中的 getter 与 setter 构成了我们称之为 “属性”(property)的形式,从而为访问这种属性提供了一种快捷标记。因此,我们完全可以舍弃 Java 式的调用方法,而采用字段样式的访问标记:

resourceGroup.getResourcePrototype().getName() == SERVER_TYPE_NAME
resourceGroup.resourcePrototype.name == SERVER_TYPE_NAME

resourcePrototype.setName("something")
resourcePrototype.name = "something"

用 Groovy 编写 bean 时,通常会调用 POGO(普通 Groovy 对象),不必自己创建字段和 getter/setter,只需把这些活儿留给 Groovy 编译器即可:

与其像下面这样:

class Person {
  private String name
  String getName() { return name }
  void setName(String name) { this.name = name }
}

不如这样写,简单明快:

class Person {
  String name
}

如你所见,实际上,没有任何修饰符的独立“字段”导致 Groovy 编译器为你生成了一个私有字段和 getter 及 setter。

在使用这样来自 Java 的 POGO 时,getter 与 setter 确实存在,当然可以像通常那样使用。

虽然编译器创建了常见的 getter 和 setter 逻辑,但如果你希望在这些 getter/setter 中实现不同或者更多的逻辑,完全可以添加进去,编译器自会用你提供的逻辑来代替默认生成的逻辑。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文