Kotlin Companion Objects

I den här artikeln lär du dig att skapa och använda kompletterande objekt i ditt Kotlin-program med hjälp av exempel.

Låt oss ta ett exempel för att få tillgång till medlemmar i en klass innan vi tar med några kompletterande objekt.

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

Här skapade vi ett objekt p1 av callMe()metoden Person class to call . Så fungerar saker normalt.

Men i Kotlin kan du också ringa callMe()metoden genom att använda klassnamnet, dvs Person i det här fallet. För det måste du skapa ett kompletterande objekt genom att markera objektdeklarationen med companionnyckelord.

Exempel: Companion-objekt

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

När du kör programmet blir resultatet:

 Jag heter.

I programmet är testobjektdeklarationen markerad med nyckelordskompanjon för att skapa ett kompletterande objekt. Därför är det möjligt att anropa callMe()metoden genom att använda klassens namn som:

 Person.callMe ()

Namnet på det kompletterande objektet är valfritt och kan utelämnas.

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

Om du känner till Java kan du relatera kompletterande objekt med statiska metoder (även om hur de fungerar internt är helt annorlunda).

Kompletterande objekt kan komma åt privata medlemmar i klassen. De kan därför användas för att implementera fabriksmetodsmönstren.

Intressanta artiklar...