Telegram Web
📌 Кратко про анонимные классы и объекты, object и companion object

Анонимный класс
— это класс, которые явно не объявлен с помощью 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
2025/07/08 18:08:44
Back to Top
HTML Embed Code: