groovy의 속성은 액세스 수정자가없는 java의 클래스 필드와 비슷합니다. 그게 사실이야? 아니면 특별한 의미가 있습니다. 속성을 비공개로 설정할 수있는 방법이없는 것 같습니다.Groovy의 '특성'은 무엇입니까?
답변
속성은 일반적으로 필드처럼 취급 할 수 있지만 암시 적 getters/setters가 실제로 지원하므로 필드와 같은 값을 참조하거나 값과 동일하게 설정할 수 있습니다. 배후에서 그들은 getter/setters를 사용하고 있습니다. http://groovy.codehaus.org/Groovy+Beans
그것은 또한 당신이 개인 게터 기본으로하는 개인 재산 (private 필드를 만들 수 있음을 보여줍니다 :
이 페이지는 속성/필드 및 액세스 수정에 대한 자세한 내용 (특히 "속성과 필드 규칙"절 참조)가/setters)하지만 getters/setter를 정의 할 때는 명시 적이어야합니다.
Groovy 클래스 정의에서 액세스 한정자가없는 필드를 선언하면 JavaBeans specification에 따라 "속성"이라고도하는 공용 설정자/가져 오기 방법 쌍과 개인 인스턴스 변수 필드가 생성됩니다.
class A {
String property
/*
private String property
public void setProperty(String property) { ... }
public String getProperty() { ... }
*/
}
공용 인스턴스 변수 필드를 선언하는 경우 setter/getter 메서드 쌍을 사용하지 않고 공용 필드 만 가져옵니다.
그루비 클라이언트의 POV에서class A {
public String field
/*
public String field
*/
}
,이 런타임에 그루비 속성과 공공 필드를 액세스하는 사이에 차이가 a.field
비록
def a = new A()
println a.field
println a.property
직접 인스턴스 변수에 액세스하지 않으며 a.property
실제로 a.getProperty()
를 호출 (또는 a.setProperty(...)
값을 지정할 때). 그러나 속성이 JavaBeans 사양을 준수하기 때문에이 클래스는 Java 기반 환경에서 원활하게 사용할 수 있습니다.
나는 "사유 재산"을 만드는 데별로 감각이 없습니다. private
은 메서드 또는 인스턴스/클래스 변수의 사용을 호스팅 클래스 유형으로 제한합니다. 그러나 아마도 당신은 private 필드 인스턴스 변수를 만드는 것을 언급하고있을 것입니다.
- 1. 스파게티 코드의 특성은 무엇입니까?
- 2. 추출 특성은
- 3. Groovy의 밑줄 의미
- 4. Groovy의 동적 유형 유형
- 5. string groovy의 참조 객체
- 6. Groovy의 메소드 오버로드
- 7. NSDirectoryEnumerator의 fileAttributes 메소드의 성능 특성은 무엇입니까?
- 8. C#의 'is'reflection의 성능 특성은 무엇입니까?
- 9. BasicHttpBinding 끝점 구성에서 담당하는 bindingConfiguration 특성은 무엇입니까?
- 10. 스트림이란 무엇을 의미합니까? 그것의 특성은 무엇입니까?
- 11. 문제/특성은 C++
- 12. .Net SvcUtil : 특성은 선택적이어야합니다.
- 13. Timestampable 특성은 오류
- 14. ThreadStatic 특성은 어떻게 작동합니까?
- 15. KnownType 특성은 언제 사용하면됩니까?
- 16. 업데이트 목록의 요소의 특성은
- 17. Groovy의 configslurper를 사용하여리스트를 직렬화하는 방법은 무엇입니까?
- 18. Groovy의 java.library.path를 프린트하는 방법
- 19. Groovy의 간단한 순위 알고리즘
- 20. Groovy의 HTTP 클라이언트 라이브러리
- 21. Groovy의 버전 문자열을 비교하십시오.
- 22. Groovy의 매끄러운 연산자
- 23. Groovy의 소스 코드 ASTNode
- 24. Groovy의 이상한 나누기 연산자
- 25. Groovy의 __LINE__ 기능
- 26. 젠킨스를위한 groovy의 사전 스크립트
- 27. EnumDataType 특성은 ASP.NET MVC에서 무엇을합니까?
- 28. 요소 대 특성은 언제 사용해야합니까?
- 29. C# CoClass 특성은 무엇을 수행합니까?
- 30. 이 .NET 특성은 어떤 역할을합니까?
이 질문에 대한 편집 대기열은 가득 찼지만 속성 대 필드를 설명하는 업데이트 된 (최신) 링크가 있습니다 : http://groovy-lang.org/objectorientation.html#_fields_and_properties –