Společné objekty Kotlin

V tomto článku se naučíte vytvářet a používat doprovodné objekty ve vašem programu Kotlin pomocí příkladů.

Než se podíváme na doprovodné objekty, pojďme si vzít příklad pro přístup k členům třídy.

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

Zde jsme vytvořili objekt p1 metody Person třídy pro volání callMe()metody. Takhle věci normálně fungují.

V Kotlinu však můžete callMe()metodu zavolat také pomocí názvu třídy, v tomto případě tedy Person. K tomu musíte vytvořit doprovodný objekt označením deklarace objektu companionklíčovým slovem.

Příklad: Doprovodné objekty

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

Když spustíte program, výstup bude:

 Říkají mi.

V programu je deklarace testovacího objektu označena doprovodným klíčovým slovem pro vytvoření doprovodného objektu. Proto je možné volat callMe()metodu pomocí názvu třídy jako:

 Person.callMe ()

Název doprovodného objektu je volitelný a lze jej vynechat.

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

Pokud znáte prostředí Java, můžete spojit doprovodné objekty se statickými metodami (i když to, jak fungují interně, je úplně jiné).

Doprovodné objekty mají přístup k soukromým členům třídy. Proto je lze použít k implementaci vzorů továrních metod.

Zajímavé články...