2017-09-29 90 views
0

我一直在寫在那裏我第一次聲明的類簽名如下如何在構造函數中定義類屬性時編寫自定義getter?

data class MClass(val id: Int = 0,val descr: String, val timestamp: Long) 

現在需要被創造,我必須對上述字段的自定義吸氣的應用程序。我如何編寫這個自定義getter?我知道,如果不是的話我可以寫類似

data class(){ 
    val id=0 
    val descr = "" 
    get() = descr + "append smth" 

    val timestamp:Long = 0 

} 

回答

3

你可以做類似如下:

data class MClass(val id: Int = 0, private val descr: String, val timestamp: Long) { 
    val description: String 
     get() = descr + "append smth" 
} 
+0

是,但現在不是我複製descr字段? – Libathos

+0

@Libathos不,注意descr現在是私人的,所以使用我的例子,你將訪問propety調用MClass.description,這是一個不同的值,具有不同的值 – AlexTa

+0

偉大沒有注意到私人部分。謝謝,最後我只是想確定一下,我的自定義getter不能有任何爭論,是對的嗎? – Libathos

1

你可以把它像:

data class MClass(val id: Int = 0, private val _descr: String, val timestamp: Long) { 
    val descr: String 
     get() = _descr + "append something" 
} 
相關問題