English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой статье вы узнаете, как создавать и использовать сопутствующие объекты в программе Kotlin с помощью примеров.
Прежде чем обсуждать сопутствующие объекты, давайте рассмотрим пример для доступа к членам класса.
class Person { fun callMe() = println("I'm called.") } fun main(args: Array<String>) { val p1 = Person() // Вызов метода callMe() с помощью объекта p1 p1.callMe() }
Здесь мы создали объект p1 класса Person для вызова метода callMe ()
Однако, в Kotlin, вы также можете вызвать метод callMe () с помощью имени класса (т.е. в данном примере Person) с помощью ключевого слова companion. Для этого вам нужно использовать ключевое слово companion для маркировкиОбъявление объектаОбъявление объекта для создания сопутствующего объекта.
class Person { companion object Test { fun callMe() = println("I'm called.") } } fun main(args: Array<String>) { Person.callMe() }
При выполнении программы выводится:
Я называюсь.
В программе, объект Test объявляется с помощью ключевого слова companion для создания сопутствующего объекта. Таким образом, можно вызвать метод callMe() с использованием следующего названия класса:
Person.callMe()
Имя компаньонского объекта является опциональным и может быть пропущено.
class Person { //Пропущено имя компаньонского объекта companion object { fun callMe() = println("I'm called.") } } fun main(args: Array<String>) { Person.callMe() }
Если вы знакомы с Java, вы, возможно, свяжете компаньонские объекты с статическими методами (хотя их внутренний工作机制 совершенно不一样)
Компаньонские объекты могут доступа к частным членам класса. Таким образом, они могут быть использованы для реализации шаблона фабрики.