Ebben a cikkben megtanulni kísérőobjektumokat létrehozni és használni Kotlin programjában példák segítségével.
Társobjektumok felvétele előtt vegyünk egy példát az osztály tagjainak elérésére.
class Person ( fun callMe() = println("I'm called.") ) fun main(args: Array) ( val p1 = Person() // calling callMe() method using object p1 p1.callMe() )
Itt hoztuk létre a Person to call callMe()
módszer p1 objektumát . Így működnek a dolgok rendesen.
Ugyanakkor Kotlinban a callMe()
metódust is meghívhatja az osztálynév használatával, vagyis ebben az esetben a Személy. Ehhez létre kell hoznia egy társobjektumot úgy, hogy az objektum deklarációt companion
kulcsszóval jelöli .
Példa: Kísérő objektumok
class Person ( companion object Test ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
A program futtatásakor a kimenet a következő lesz:
Hivtak.
A programban a Tesztobjektum-deklarációt társ-kulcsszóval jelölik, hogy társ-objektumot hozzon létre. Ezért lehetséges a callMe()
metódus meghívása az osztály nevének használatával:
Person.callMe ()
A társobjektum neve nem kötelező és elhagyható.
class Person ( // name of the companion object is omitted companion object ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Ha ismeri a Java-t, kapcsolatba hozhatja a társobjektumokat statikus módszerekkel (annak ellenére, hogy belső működésük teljesen más).
A társobjektumok hozzáférhetnek az osztály privát tagjaihoz. Ezért felhasználhatók a gyári módszerminták megvalósítására.