Obiekty towarzyszące Kotlin

W tym artykule nauczysz się tworzyć i używać obiektów towarzyszących w programie Kotlin za pomocą przykładów.

Zanim zajmiemy się obiektami towarzyszącymi, weźmy przykład dostępu do członków klasy.

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

Tutaj stworzyliśmy obiekt p1 klasy Person do wywołania callMe()metody. Tak to zwykle działa.

Jednak w Kotlinie możesz również wywołać callMe()metodę używając nazwy klasy, czyli w tym przypadku Person. W tym celu należy utworzyć obiekt towarzyszący, oznaczając deklarację obiektu companionsłowem kluczowym.

Przykład: obiekty towarzyszące

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

Po uruchomieniu programu wynik będzie następujący:

 Nazywam się.

W programie deklaracja obiektu Test jest oznaczana słowem kluczowym companion, aby utworzyć obiekt towarzyszący. Stąd możliwe jest wywołanie callMe()metody używając nazwy klasy jako:

 Person.callMe ()

Nazwa obiektu towarzyszącego jest opcjonalna i można ją pominąć.

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

Jeśli znasz Javę, możesz powiązać obiekty towarzyszące z metodami statycznymi (nawet jeśli ich wewnętrzne działanie jest zupełnie inne).

Obiekty towarzyszące mają dostęp do prywatnych członków klasy. W związku z tym mogą być używane do implementacji wzorców metod fabrycznych.

Interesujące artykuły...