In questo articolo imparerai a creare e utilizzare oggetti associati nel tuo programma Kotlin con l'aiuto di esempi.
Prima di parlare degli oggetti companion, facciamo un esempio per accedere ai membri di una classe.
class Person ( fun callMe() = println("I'm called.") ) fun main(args: Array) ( val p1 = Person() // calling callMe() method using object p1 p1.callMe() )
Qui, abbiamo creato un oggetto p1 della classe Person per chiamare il callMe()
metodo. È così che funzionano normalmente le cose.
Tuttavia, in Kotlin, puoi anche chiamare il callMe()
metodo utilizzando il nome della classe, ovvero Persona in questo caso. Per questo, è necessario creare un oggetto associato contrassegnando la dichiarazione dell'oggetto con companion
parola chiave.
Esempio: oggetti companion
class Person ( companion object Test ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Quando esegui il programma, l'output sarà:
Sono chiamato.
Nel programma, la dichiarazione dell'oggetto Test è contrassegnata dalla parola chiave companion per creare un oggetto companion. Quindi, è possibile chiamare il callMe()
metodo utilizzando il nome della classe come:
Person.callMe ()
Il nome dell'oggetto associato è facoltativo e può essere omesso.
class Person ( // name of the companion object is omitted companion object ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Se hai familiarità con Java, puoi mettere in relazione gli oggetti associati con metodi statici (anche se il modo in cui funzionano internamente è completamente diverso).
Gli oggetti associati possono accedere ai membri privati della classe. Quindi, possono essere utilizzati per implementare i modelli di metodo di fabbrica.