[英]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.