LINUX.ORG.RU

История изменений

Исправление AlexM, (текущая версия) :

например когда тебе надо иметь внутри класса проверти мутебельного типа, чтоб ее менять а наружу отдать иммутальную.

Хм, я, конечно, не бог весть какой программист, тем более, на котлине, но почему бы не сделать public get? Или вообще наружу интерфейс отдать? Что-нибудь типа такого (взято из https://stackoverflow.com/q/56351124/3159253):

data class Data(private var prop_: String) {
    val prop: String get() = prop_
}

или такого:

interface Data {
    val prop: String
}

private data class DataImpl(
    override var prop: String
): Data

Наружу в этом случае отдается Data, внутри работаем с DataImpl

Исходная версия AlexM, :

например когда тебе надо иметь внутри класса проверти мутебельного типа, чтоб ее менять а наружу отдать иммутальную.

Хм, я, конечно, не бог весть какой программист, тем более, на котлине, но почему бы не сделать private set? Или вообще наружу интерфейс отдать? Что-нибудь типа такого (взято из https://stackoverflow.com/q/56351124/3159253):

data class Data(private var prop_: String) {
    val prop: String get() = prop_
}

или такого:

interface Data {
    val prop: String
}

private data class DataImpl(
    override var prop: String
): Data

Наружу в этом случае отдается Data, внутри работаем с DataImpl