Trước đây tôi đã nghĩ rằng một thuộc tính trong Groovy được chỉ ra bởi sự thiếu sót của một từ khóa phạm vi. Nói cách khácĐịnh nghĩa thuộc tính Groovy
class Test {
def prop = "i am a property"
public notProp = "i am not"
}
Tuy nhiên, dường Tôi không chính xác về vấn đề này, bởi vì các bản in kịch bản sau "getter val"
class Foo {
public bar = "init val"
public getBar() {
"getter val"
}
}
println new Foo().bar
Thực tế là getter được gọi khi bar
được truy cập cho thấy rằng bar
là một tài sản chứ không phải là một lĩnh vực. Vậy chính xác là sự khác nhau giữa các trường và thuộc tính trong Groovy.
Cảm ơn, Don
Chúng có thể trông giống nhau và hành động chủ yếu giống nhau, nhưng Groovy sẽ chỉ tạo trình lấy/đặt cho thuộc tính, được xác định bởi sự hiện diện của công cụ sửa đổi truy cập. – ubiquibacon