tgoop.com »
United States »
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck » Telegram Web
Анонимный класс — это класс, которые явно не объявлен с помощью
class
, наследуется от заданного класса или реализует заданный интерфейс. Анонимный класс не всегда является синглтоном. Анонимный класс создается каждый раз при вызове соответствующего конструктора и используется только в контексте, где был создан.
При этом каждый экземпляр анонимного класса имеет свое уникальное состояние и может отличаться от других экземпляров того же анонимного класса. В Kotlin анонимный класс создается следующим образом:
val obj = object : SuperClassOrInterface() {
// implementation here
}
Объекты анонимных классов полезны для одноразового использования.Экземпляры анонимных классов называют анонимными объектами, потому что они объявляются выражением, а не именем.
Анонимный объект начинается с ключевого слова
object
.• можно задавать свойства, функции, блоки инициализации;
• можно наследоваться от других классов и реализовывать интерфейсы;
• нельзя создавать конструкторы (как основные, так и вторичные).
Ключевое слово
object
позволяет одновременно объявить класс и создать его экземпляр (т.е. объект). При этом применять его можно по-разному:•
object Name
— это объявление объекта(оbject declaration), реализация паттерна Singleton;•
companion object
— это объект-компаньон внутри класса (также Singleton);•
object
— это объект-выражение (анонимный объект/object expression), не Singleton.#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🌚1