English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Objeto Companheiro (Companion) no Kotlin

Neste artigo, você aprenderá a criar e usar objetos companheiros em programas Kotlin com base em exemplos.

Antes de discutir sobre objetos companheiros, vamos usar um exemplo para acessar os membros da classe.

class Person {
    fun callMe() = println("I'm called.")
{}
fun main(args: Array<String>) {
    val p1 = Person()
    
    //Usar o objeto p1Chamar o método callMe()
    p1.callMe()    
{}

Aqui, criamos um objeto da classe Person p1 para chamar o método callMe ()

Mas, no Kotlin, você também pode chamar o método callMe () usando o nome da classe (ou seja, no exemplo Person) para chamar. Para isso, você precisa usar a palavra-chave companion para marcarDeclaração de objetoDeclaração de objeto para criar um objeto companheiro.

Exemplo: objeto companheiro

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

Quando o programa é executado, a saída é:

Sou chamado.

No programa, o objeto Test é declarado com a palavra-chave companion para criar um objeto companheiro. Portanto, pode-se chamar o método callMe() usando o seguinte nome da classe:

Person.callMe()

O nome do objeto companheiro é opcional e pode ser omitido.

class Person {
    
    //O nome do objeto companheiro foi omitido
    companion object {
        fun callMe() = println("I'm called.")
    {}
{}
fun main(args: Array<String>) {
    Person.callMe()
{}

Se você estiver familiarizado com o Java, você pode associar objetos companheiros a métodos estáticos (apesar de seu funcionamento interno ser completamente diferente)

Os objetos companheiros podem acessar os membros privados da classe. Portanto, eles podem ser usados para implementar o padrão de método fábrica.