@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
.
@felix
Когда мы вызываем метод bar() у myObject, будет напечатано "bar".
Таким образом, вы можете на лету создать наследника интерфейса, определив его реализацию в анонимном классе.