Sobes.tech
Intern

Какви са модификаторите за достъп?

sobes.tech AI

Отговор от AI

Модификаторите за достъп в Kotlin определят видимостта на декларациите (класове, интерфейси, функции, свойства). Те контролират къде може да бъде използван този елемент.

Достъпните модификатори:

  • public (по подразбиране): Видимост от всякъде.
  • private: Видимост само вътре в блока, който го съдържа (клас, файл).
  • protected: Видимост вътре в класа и всички негови подкласове. Не е наличен за членове на ниво горен (дефинирани извън класа).
  • internal: Видимост само вътре в същия модул.

Пример:

// файл: Example.kt

package com.example.app

private const val PRIVATE_CONSTANT = 1 // Виден само в този файл

public class PublicClass { // Виден от всякъде

    private var privateProperty = 0 // Виден само вътре в PublicClass

    protected open fun protectedMethod() { // Виден вътре в PublicClass и неговите подкласове
        // ...
    }

    internal fun internalMethod() { // Виден само вътре в модула ComExampleApp
        // ...
    }
}

open class BaseClass {
    protected val protectedValue = 5 // Виден вътре в BaseClass и подкласовете
}

class DerivedClass : BaseClass() {
    fun useProtectedValue() {
        println(protectedValue) // Достъп до protectedValue от подклас
    }
}