Можешь объяснить принцип работы делегата в классе на языке Kotlin?
Делегат в Kotlin — это объект, который берет на себя выполнение определенной задачи или делегирует вызовы методов другому объекту.
Читать ответПодготовка к интервью
465 вопросов по Kotlin с технических собеседований
Что проверяют на интервью
На странице собраны вопросы по Kotlin — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: mobile, kotlin, android.
Каталог
Делегат в Kotlin — это объект, который берет на себя выполнение определенной задачи или делегирует вызовы методов другому объекту.
Читать ответВ Kotlin ключевое слово object используется для объявления синглтона — объекта, который создаётся один раз и доступен глобально.
Читать ответВ Kotlin для Data Class доступны стандартные уровни доступа, такие как public, private, protected и internal, которые можно применять к свойствам и методам.
Читать ответВ Kotlin типы делятся на nullable и non-nullable, что отражается в системе типов языка и помогает избежать ошибок, связанных с null.
Читать ответПопулярность Kotlin объясняется несколькими ключевыми факторами:
Читать ответ== сравнивает содержимое объектов (структурное равенство), вызывая метод equals(). === сравнивает ссылки на объекты (референциальное равенство), проверяя, указывают ли они на один и тот же экземпляр в памяти.
Читать ответUnit является синглтоном и используется как тип возвращаемого значения для функций, не возвращающих никакого значимого значения. Это аналог void в Java, но в отличие от void, Unit является реальным типом.
Читать ответНет, напрямую нельзя. data class не может быть объявлен как open, что является необходимым условием для наследования в Kotlin.
Читать ответДа, после использования оператора by в Kotlin можно обратиться к делегированному свойству напрямую, так как делегат хранится в отдельном объекте, к которому можно получить доступ.
Читать ответВ Kotlin можно объявлять функции-лямбды (lambda) как свойства внутри data class.
Читать ответВ Kotlin есть изменяемые (Mutable) и неизменяемые (Immutable) коллекции, и выбор между ними зависит от задачи.
Читать ответВ Kotlin класс Unit был введён для обозначения отсутствия возвращаемого значения у функции, аналогично void в Java, но при этом Unit является полноценным типом.
Читать ответ