簡體   English   中英

如何為 kotlin 正確創建輔助構造函數

[英]How to created correctly a secondary constructor for kotlin

我正在開發一個應用程序,我在其中管理應用程序用戶提供的不同服務。

所以,我想創建一個輔助構造函數,我可以在其中為服務添加價格。 關於我在不同論壇上閱讀的內容,正確的方法是委托給 this() 調用主構造函數的屬性,而在我的例子中,輔助構造函數負責新屬性作為價格。

所以我嘗試做這樣的事情:

@kotlinx.serialization.Serializable
data class Service(
    var status: String?,
    var type: String,
) : Serializable {

    //TODO: Crear onstructor secundario para instanciar
    // los service mostrados en el publishFragment.

    constructor(
        status: String,
        type: String,
        price:Int)
            : this(status, type){

    }
}

但是我不知道如何在沒有實現第一個構造函數的情況下設置價格。

我猜

在數據類中,主構造函數必須設置所有值。 在您的情況下,您可以只使用具有默認價格值的主構造函數:

data class Service(
    val type: String,
    val status: String? = null,
    val price: Int? = null
)

您當然可以添加輔助構造函數而不是使用默認值,它只會使用 null 值調用主構造函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM