Re[3]: Шаблонный код в Java/Kotlin - возможно ли?
От: r0nd  
Дата: 17.10.23 13:00
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Звучит, как то, что нужно.

RB>Можете показать пример?

Как-то так (ideone):

// Объявляем интерфейс с обобщенными функциями
interface Printable {
    val value: Int
    fun printValue()
}

// Реализуем интерфейс в ваших классах
data class A(override val value: Int) : Printable {
    override fun printValue() {
        println(value)
    }
}

data class B(override val value: Int) : Printable {
    override fun printValue() {
        println(value)
    }
}

fun main() {
    val a = A(42)
    val b = B(123)

    a.printValue() // Выведет значение из A
    b.printValue() // Выведет значение из B
}


В этом примере мы создали интерфейс Printable, который содержит общие поля и функцию printValue(). Затем классы A и B реализуют этот интерфейс, и мы можем вызывать функцию printValue() на объектах обоих классов. Каждый из них будет работать с полем value внутри своего класса.

Такой подход позволяет вам обобщить операции, выполняемые над общими полями в ваших классах, сохраняя при этом индивидуальные особенности каждого класса.
...<< Dementor 1.4.4 ✪ Lets Play a Game ⚀⚀⚂⚃⚄>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.