Sobes.tech
Junior

Wat is een companion object in Kotlin?

sobes.tech AI

Antwoord van AI

Object dat gekoppeld is aan een klasse dat statische leden (eigenschappen en functies) bevat. Toegankelijk via de naam van de klasse.

class MyClass {

    companion object {
        // Statische eigenschap
        const val TAG = "MyClass"

        // Statische functie
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Toegang tot leden van het companion object
val instance = MyClass.create()
val className = MyClass.TAG

Belangrijkste toepassingen:

  • Fabriekmethoden.
  • Constanten.
  • Statische hulpfuncties.

Het sleutelwoord companion kan worden weggelaten, dan wordt het object Companion genoemd, maar dit wordt zelden gebruikt. Het kan een andere naam hebben dan Companion. Implementeert interfaces.