I denne artikel lærer du at oprette og bruge ledsagende objekter i dit Kotlin-program ved hjælp af eksempler.
Før vi tager fat på ledsagende objekter, lad os tage et eksempel for at få adgang til medlemmer af en klasse.
class Person ( fun callMe() = println("I'm called.") ) fun main(args: Array) ( val p1 = Person() // calling callMe() method using object p1 p1.callMe() )
Her oprettede vi et objekt p1 af callMe()
metoden Person class to call . Sådan fungerer tingene normalt.
I Kotlin kan du dog også kalde callMe()
metoden ved hjælp af klassens navn, dvs. Person i dette tilfælde. Til det skal du oprette et ledsagende objekt ved at markere objektdeklarationen med companion
nøgleord.
Eksempel: Ledsagende objekter
class Person ( companion object Test ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Når du kører programmet, vil output være:
Jeg er kaldt.
I programmet er testobjektdeklaration markeret med nøgleordskammerat for at oprette et ledsagende objekt. Derfor er det muligt at kalde callMe()
metoden ved at bruge klassens navn som:
Person.callMe ()
Navnet på det ledsagende objekt er valgfrit og kan udelades.
class Person ( // name of the companion object is omitted companion object ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Hvis du er fortrolig med Java, kan du relatere ledsagende objekter med statiske metoder (selvom hvordan de fungerer internt er helt anderledes).
De ledsagende objekter kan få adgang til private medlemmer af klassen. Derfor kan de bruges til at implementere fabriksmetodemønstre.