Kotlin-kumppaniobjektit

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 companionavainsanalla.

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.

Mielenkiintoisia artikkeleita...