Kotlin Companion Objects

В тази статия ще се научите да създавате и използвате придружаващи обекти във вашата програма Kotlin с помощта на примери.

Преди да вземем за придружаващи обекти, нека вземем пример за достъп до членове на клас.

 class Person ( fun callMe() = println("I'm called.") ) fun main(args: Array) ( val p1 = Person() // calling callMe() method using object p1 p1.callMe() ) 

Тук създадохме обект p1 от метода Person class to call callMe(). Така нормално работят нещата.

В Kotlin обаче можете също да извикате callMe()метод, като използвате името на класа, т.е. в този случай Person. За това трябва да създадете придружаващ обект, като маркирате декларацията за обект с companionключова дума.

Пример: Придружаващи обекти

 class Person ( companion object Test ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() ) 

Когато стартирате програмата, изходът ще бъде:

 Повикан съм.

В програмата декларацията за тестов обект е маркирана с ключова дума companion, за да се създаде придружаващ обект. Следователно е възможно да се извика callMe()метод, като се използва името на класа като:

 Person.callMe ()

Името на придружаващия обект не е задължително и може да бъде пропуснато.

 class Person ( // name of the companion object is omitted companion object ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )

Ако сте запознати с Java, можете да свържете придружаващите обекти със статични методи (въпреки че начинът им на работа вътрешно е напълно различен).

Придружаващите обекти имат достъп до частни членове на класа. Следователно, те могат да бъдат използвани за изпълнение на фабричните модели на модели.

Интересни статии...