Sobes.tech
Intern

Wat zijn toegangsmutators?

sobes.tech AI

Antwoord van AI

Toegangsmodifiers in Kotlin bepalen de zichtbaarheid van declaraties (klassen, interfaces, functies, eigenschappen). Ze controleren waar dit element gebruikt kan worden.

Beschikbare modifiers:

  • public (standaard): Zichtbaarheid vanaf elke plek.
  • private: Zichtbaarheid alleen binnen de omvattende blok (klasse, bestand).
  • protected: Zichtbaarheid binnen de klasse en al haar subklassen. Niet beschikbaar voor leden op topniveau (buiten de klasse gedefinieerd).
  • internal: Zichtbaarheid alleen binnen dezelfde module.

Voorbeeld:

// bestand: Example.kt

package com.example.app

private const val PRIVATE_CONSTANT = 1 // Alleen zichtbaar in dit bestand

public class PublicClass { // Zichtbaar vanaf elke plek

    private var privateProperty = 0 // Alleen zichtbaar binnen PublicClass

    protected open fun protectedMethod() { // Zichtbaar binnen PublicClass en haar subklassen
        // ...
    }

    internal fun internalMethod() { // Alleen zichtbaar binnen de module ComExampleApp
        // ...
    }
}

open class BaseClass {
    protected val protectedValue = 5 // Zichtbaar binnen BaseClass en subklassen
}

class DerivedClass : BaseClass() {
    fun useProtectedValue() {
        println(protectedValue) // Toegang tot protectedValue vanuit een subklasse
    }
}