В тази статия ще се научите да създавате и използвате придружаващи обекти във вашата програма 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, можете да свържете придружаващите обекти със статични методи (въпреки че начинът им на работа вътрешно е напълно различен).
Придружаващите обекти имат достъп до частни членове на класа. Следователно, те могат да бъдат използвани за изпълнение на фабричните модели на модели.