Выполнение команды Интерфейс vs Function Invocation

В Kotlin, поскольку мы можем использовать функции в качестве переменных, я стараюсь заменить интерфейсы такими вызовами функций, как это:

class A { private var listener: AA? = null var callThis: (() -> Unit) ? = null) fun somethingHere() { callThis?.invoke() listener?.callThis2() } fun attachListener(listener: AA) { this.listener = listener } interface AA { fun callThis2() } } class B { init { val objectA = A() objectA.callThis = {} objectA.attachListener(object : A.AA { override fun callThis2() { } }) } } 

Поскольку я довольно новичок в Kotlin, я хотел бы знать различия и в каких сценариях я должен использовать вызовы функций против интерфейсов, за исключением (явно) абстракции. Или это то же самое, и вызов функции выполняет точно так же, как анонимные внутренние классы

Функция называется много раз, каждый 100s точно, и я хотел бы знать, с точки зрения производительности, что лучше

Лямбда в Котлине компилируется в анонимный внутренний класс. Поэтому производительность двух сценариев будет точно такой же.

Intereting Posts
Kotlin с Android DataBinding в Android Studio 3.0 canary 2 Заявление о создании платформы с сопоставимым Тип функции с недвижимостью в Котлине Тестирование приложения Android Kotlin – Mockito с кинжалом вводит нуль Как запросить тип данных Firebase Firestore Reference? Пользовательский десериализатор для любого списка в Джексоне Безопасность локальных переменных потоков Kotlin Выполнение Observable.fromCallable () с исключением Какой из них лучший объект или верхняя функция в Котлине? Карта Котлина с ненулевыми значениями Как создать параметр конструктора типа «Единица» Kotlin с параметром одного типа с kotlinpoet? Почему скрытие фрагмента вызывает исключение нулевого указателя? Расширения Kotlin / синтетические свойства: тот же объект в нескольких вызовах Fragment.onViewCreated () Почему Котлин компилируется быстрее, чем Scala? Когда у меня есть выбранный вид и сдвигается вниз по строке состояния, когда я поднимаю его снова, вид не выбран