Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
密封数据类结构中的kotlin只读变量_Kotlin - Fatal编程技术网

密封数据类结构中的kotlin只读变量

密封数据类结构中的kotlin只读变量,kotlin,Kotlin,我有这样一个封闭的类: public sealed class DocumentBody { public data class Information( val Id: String, val name: String, val sort: Int = 2 ) : DocumentBody () public data class Location( val name: String,

我有这样一个封闭的类:

public sealed class DocumentBody {

    public data class Information(
        val Id: String,
        val name: String,
        val sort: Int = 2
    ) : DocumentBody ()

    public data class Location(
        val name: String,
        val address: String? = null,
        val sort: Int = 3
    ) : DocumentBody()

    public data class Rating(
        val name: String,
        val rating: Int,
        val sort: Int = 3
    ) : DocumentBody()
}
对于其中的每一个,我希望排序是默认的,但也不要被覆盖。目前,这可以被覆盖。我如何在这个模型中实现这一点?

试试这个:

sealed class DocumentBody(
    val sort: Int
) {
    data class Information(
        val Id: String,
        val name: String
    ) : DocumentBody(sort = 2)

    data class Location(
        val name: String,
        val address: String? = null
    ) : DocumentBody(sort = 3)

    data class Rating(
        val name: String,
        val rating: Int
    ) : DocumentBody(sort = 3)
}

您可以将
sort
参数声明为
private
,并创建一个getter方法:

public data class Rating(
        val name: String,
        val rating: Int,
        private val sort: Int = 3
    ) : DocumentBody() {
        fun getSort() : Int = sort
    }

不清楚你在问什么。排序什么,这些的列表?覆盖什么<代码>只读var是一种矛盾修饰法。您是否在询问如何在不更改实例的情况下对属于
列表的属性进行排序?为此,您需要一个
val
,这是一个
MutableList