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 companion
nyckelord.
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.