Kotlin : 공개 get private set var


125

공용 getter 및 개인용 (내부적으로 만 수정 가능한) setter가있는 kotlin에서 var를 정의하는 올바른 방법은 무엇입니까?

답변:


193
var setterVisibility: String = "abc" // Initializer required, not a nullable type
    private set // the setter is private and has the default implementation

참조 : 속성 Getter 및 Setter


13
참고 private set새 행에 있어야합니다.
Jasper Blues

29
... 또는 같은 줄에서 세미콜론 뒤에 :var abc: String = ""; private set
Boris B.

4
그래도 기본 생성자 필드로 무엇을 해야할지 모르겠습니다.
androidguy

2
@ user3175580 이것은 불가능합니다. 기본 생성자 내부의 로컬 필드를 사용한 다음 "class Foo (_bar : String) {var bar : String = _bar}
D3xter

3
@JasperBlues ... 그렇지 않으면 앞에 세미콜론을 추가해야합니다 private set.
Moses Aprico


2

var name : String = "Peter"
    private set

기본적으로 모든 속성과 함수는 Kotlin에서 공개됩니다. 따라서 setter는 명시 적으로 private로 선언되어야하며 getter는 기본적으로 public입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.