Neste artigo, você aprenderá a criar e usar objetos complementares em seu programa Kotlin com a ajuda de exemplos.
Antes de falar sobre os objetos companheiros, vamos dar um exemplo para acessar membros de uma classe.
class Person ( fun callMe() = println("I'm called.") ) fun main(args: Array) ( val p1 = Person() // calling callMe() method using object p1 p1.callMe() )
Aqui, criamos um objeto p1 da classe Person para chamar o callMe()
método. É assim que as coisas normalmente funcionam.
No entanto, no Kotlin, você também pode chamar o callMe()
método usando o nome da classe, ou seja, Pessoa neste caso. Para isso, você precisa criar um objeto complementar marcando a declaração do objeto com a companion
palavra - chave.
Exemplo: objetos complementares
class Person ( companion object Test ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Quando você executa o programa, a saída será:
Me chamo.
No programa, a declaração do objeto de teste é marcada com a palavra-chave companion para criar um objeto complementar. Portanto, é possível chamar o callMe()
método usando o nome da classe como:
Person.callMe ()
O nome do objeto complementar é opcional e pode ser omitido.
class Person ( // name of the companion object is omitted companion object ( fun callMe() = println("I'm called.") ) ) fun main(args: Array) ( Person.callMe() )
Se você estiver familiarizado com Java, poderá relacionar objetos companheiros com métodos estáticos (embora a forma como eles funcionam internamente seja totalmente diferente).
Os objetos complementares podem acessar membros privados da classe. Portanto, eles podem ser usados para implementar os padrões do método de fábrica.