Sobes.tech
Intern

O que são modificadores de acesso?

sobes.tech IA

Resposta da IA

Os modificadores de acesso em Kotlin definem a visibilidade das declarações (classes, interfaces, funções, propriedades). Eles controlam onde esse elemento pode ser utilizado.

Modificadores disponíveis:

  • public (padrão): Visibilidade de qualquer lugar.
  • private: Visibilidade apenas dentro do bloco que o contém (classe, arquivo).
  • protected: Visibilidade dentro da classe e de todas as suas subclasses. Não disponível para membros de nível superior (definidos fora da classe).
  • internal: Visibilidade apenas dentro do mesmo módulo.

Exemplo:

// ficheiro: Example.kt

package com.example.app

private const val PRIVATE_CONSTANT = 1 // Visível apenas neste ficheiro

public class PublicClass { // Visível de qualquer lugar

    private var privateProperty = 0 // Visível apenas dentro de PublicClass

    protected open fun protectedMethod() { // Visível dentro de PublicClass e suas subclasses
        // ...
    }

    internal fun internalMethod() { // Visível apenas dentro do módulo ComExampleApp
        // ...
    }
}

open class BaseClass {
    protected val protectedValue = 5 // Visível dentro de BaseClass e subclasses
}

class DerivedClass : BaseClass() {
    fun useProtectedValue() {
        println(protectedValue) // Acesso a protectedValue a partir de uma subclasse
    }
}