Tässä artikkelissa opit luomaan ja käyttämään kumppaniobjekteja Kotlin-ohjelmassa esimerkkien avulla.
Ennen kuin otat esille kumppaniobjekteja, ottakaamme esimerkki luokan jäsenille pääsystä.
class Person ( fun callMe() = println("I'm called.") ) fun main(args: Array) ( val p1 = Person() // calling callMe() method using object p1 p1.callMe() )
Tässä loimme objektin p1 henkilöluokasta kutsua callMe()
-metodista. Näin asiat normaalisti toimivat.
Kotlinissa voit kuitenkin kutsua callMe()
menetelmää myös käyttämällä luokan nimeä, tässä tapauksessa Henkilö. Tätä varten sinun on luotava kumppaniobjekti merkitsemällä objektin ilmoitus companion
avainsanalla.
Esimerkki: Lisäobjektit
class Person ( companion object Test ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Kun suoritat ohjelmaa, tulos on:
Minua kutsutaan.
Testiobjekti-ilmoitus on ohjelmassa merkitty avainsanalla kumppani luomaan kumppaniobjekti. Siksi on mahdollista kutsua callMe()
menetelmä käyttämällä luokan nimeä seuraavasti:
Person.callMe ()
Täydentävän objektin nimi on valinnainen ja se voidaan jättää pois.
class Person ( // name of the companion object is omitted companion object ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Jos olet perehtynyt Java-ohjelmaan, voit liittää kumppaniobjekteja staattisiin menetelmiin (vaikka niiden sisäinen toiminta onkin täysin erilaista).
Seuralaisobjektit voivat käyttää luokan yksityisiä jäseniä. Siksi niitä voidaan käyttää tehdasmenetelmämallien toteuttamiseen.