Как на лету сгенерировать наследник интерфейса на kotlin?

Пользователь

от felix , в категории: Другие , 2 года назад

Как на лету сгенерировать наследник интерфейса на kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от marlen , 2 года назад

@felix 

Kotlin предоставляет возможность создания классов-наследников интерфейсов "на лету" с помощью анонимных классов.


Следующий код показывает, как создать анонимный класс, реализующий интерфейс:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
interface MyInterface {
    fun bar()
}

val myObject = object : MyInterface {
    override fun bar() {
        println("bar")
    }
}

myObject.bar()


В этом примере создается анонимный класс, который реализует интерфейс MyInterface и присваивается переменной myObject. Мы можем вызвать метод bar() у myObject.

Пользователь

от stephania , год назад

@felix 

Когда мы вызываем метод bar() у myObject, будет напечатано "bar".


Таким образом, вы можете на лету создать наследника интерфейса, определив его реализацию в анонимном классе.