如何建立getter&;kotlin数据类中二级构造函数的setter?

如何建立getter&;kotlin数据类中二级构造函数的setter?,kotlin,methods,get,set,data-class,Kotlin,Methods,Get,Set,Data Class,我需要一个包含两个不同构造函数的数据类,如图所示。但是如何在Kotlin中为数据类的二级构造函数执行getter和setter?我尝试了多次更改,但都没有找到答案。在下面的代码片段中,对于get()和set() 看起来您需要两个构造函数,一个只需要“phone”参数,另一个同时需要“phone”和“name”参数。总的来说,无论使用哪个构造函数,数据类都将有两个属性:phone和name。您可以通过以下方式完成此任务: 数据类用户(变量电话:字符串){ 变量名称:String=“” 构造函数(p

我需要一个包含两个不同构造函数的数据类,如图所示。但是如何在Kotlin中为数据类的二级构造函数执行getter和setter?我尝试了多次更改,但都没有找到答案。在下面的代码片段中,对于get()set()


看起来您需要两个构造函数,一个只需要“phone”参数,另一个同时需要“phone”和“name”参数。总的来说,无论使用哪个构造函数,数据类都将有两个属性:phone和name。您可以通过以下方式完成此任务:

数据类用户(变量电话:字符串){
变量名称:String=“”
构造函数(phone:String,name:String):此(phone){
this.name=name
}
}
但是,由于这是Kotlin,您应该:

数据类用户(变量电话:String,变量名称:String=”“)
data class user(var phone: String) {
    constructor(phone: String, name : String) : this(phone) {
        var name: String = name
        get()= field
        set(value) {
            field = value
        }
      }
    }