Articles of Наследование

Наследование в Котлине

Попытка выяснить с Котлином последние дни, прочитали документ и нашли один пример. В нижней части статьи : interface A { fun foo() { print("A") } fun bar() } interface B { fun foo() { print("B") } fun bar() { print("bar") } } class C : A { override fun bar() { print("bar") } } class […]

Наследование дженериков Котлина – несоответствие типов

Я пытаюсь создать набор поставщиков для объектов realm. Вот пример структуры, которую я пытался создать: Интерфейс: interface IDataProvider<out T : RealmObject> { fun getRealmObject(): T } Базовый класс провайдера со вспомогательной функцией для типизированного экземпляра поставщика: open abstract class BaseProvider<out T : RealmObject> constructor(protected val context: Context?) : IDataProvider<T> { companion object { fun <T […]

Проблема генерических свойств Котлина

У меня возникли проблемы с Kotlin при переводе моего проекта андроида из java в Kotlin. Скажем, у меня есть интерфейс I и интерфейс O, который расширяет интерфейс I. interface I{ } interface O: I{ } И общий класс A, который имеет общий параметр V, который расширяет интерфейсI, и общий класс B, который расширяет класс A: […]

Несоответствие типа Котлина при прохождении в параметре

Я переопределяю функцию в родительском классе, который принимает параметр типа Any ?. Я хочу Любить? чтобы быть экземпляром типа Venue, так что я могу вывести его id, однако я не могу переопределить функцию, используя getModelId(model: Venue?) потому что это не так, как это определено в суперклассе. Каков наилучший способ убедиться, что для этого случая использования […]

Наследование Котлина с дженериками

У меня есть абстрактный класс, назовем его А. abstract class A(private val name: String) { fun read(key: String): Entity { … } fun write(entity: Entity) { … } abstract val mapper: Mapper<Any> … interface Mapper<T> { fun toEntity(entry: T): Entity fun fromEntity(entity: Entity): T } … Он имеет абстрактную карту. Дело в том, что я […]

в kotlin, как передать обратно MutableList, где пункт назначения ожидает Список

имеющий hashMap со списком как заданное значение: private var mMap: HashMap<String, List<DataStatus>>? = null с функцией возвращать hashMap, но со значением MutableList fun getDataStatus(response: JSONObject?): HashMap<String, MutableList<DataStatus>> { return HashMap<String, MutableList<AccountStatusAlert>>() } при передаче результата в hashMap, ожидающем List, он получил ошибку: mMap = getDataStatus(resp) //<== got error получена ошибка: Error:(81, 35) Type mismatch: inferred […]