„Kotlin“ papildomi objektai

Šiame straipsnyje išmoksite pavyzdžių pagalba kurti ir naudoti papildomus objektus savo „Kotlin“ programoje.

Prieš imdamiesi papildomų objektų, paimkime pavyzdį, kaip pasiekti klasės narius.

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

Čia mes sukūrėme callMe()metodo „ Asmuo klasėje, kuriam reikia skambinti“ objektą p1 . Taip viskas paprastai veikia.

Tačiau Kotline taip pat galite iškviesti callMe()metodą naudodami klasės pavadinimą, ty šiuo atveju asmenį. Tam turite sukurti papildomą objektą, pažymėdami objekto deklaraciją companionraktiniu žodžiu.

Pavyzdys: papildomi objektai

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

Kai paleisite programą, išvestis bus:

 Man skambina.

Programoje bandymo objekto deklaracija pažymima raktiniu žodžiu palydovas, kad būtų sukurtas papildomas objektas. Taigi galima iškviesti callMe()metodą naudojant klasės pavadinimą kaip:

 Person.callMe ()

Papildomo objekto pavadinimas yra neprivalomas ir jo negalima praleisti.

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

Jei esate susipažinę su „Java“, galite susieti papildomus objektus su statiniais metodais (nors jų darbas viduje yra visiškai kitoks).

Papildomi objektai gali pasiekti privačius klasės narius. Taigi jie gali būti naudojami įgyvendinant gamyklos metodo modelius.

Įdomios straipsniai...