Примитивные свойства для класса в блоке инициализации - Kotlin - PullRequest
0 голосов
/ 10 января 2020

Я определяю класс Kotlin с рядом примитивных свойств:

class Contract (contractEntity : ContractEntity) EntityDao<ContractEntity> {
    var id : Long // <- This is a primitive datatype, needs to be initialized
    var concept : String //<- This also needs to be initialized or declared abstract

    init{
        mapFromEntity(contractEntity)
    }

    override fun mapFromEntity(entity : ContractEntity){
        id = entity.id
        concept = entity.concept
    }
}

Теперь я хочу, чтобы эти свойства были инициализированы с помощью функции mapFromEntity(), но я застрял с Блок инициализации, потому что они не инициализированы. Что может быть хорошим способом добиться того, что я пытаюсь?

1 Ответ

0 голосов
/ 10 января 2020

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

class Contract (contractEntity : ContractEntity) EntityDao<ContractEntity> {
    var id = contractEntity.id
    var concept = contractEntity.concept
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...