Sobes.tech
Intern

¿Qué son los modificadores de acceso?

sobes.tech AI

Respuesta de la IA

Los modificadores de acceso en Kotlin definen la visibilidad de las declaraciones (clases, interfaces, funciones, propiedades). Controlan dónde puede ser utilizado ese elemento.

Modificadores disponibles:

  • public (por defecto): Visibilidad desde cualquier lugar.
  • private: Visibilidad solo dentro del bloque que lo contiene (clase, archivo).
  • protected: Visibilidad dentro de la clase y de todas sus subclases. No disponible para miembros de nivel superior (definidos fuera de la clase).
  • internal: Visibilidad solo dentro del mismo módulo.

Ejemplo:

// archivo: Example.kt

package com.example.app

private const val PRIVATE_CONSTANT = 1 // Solo visible en este archivo

public class PublicClass { // Visible desde cualquier lugar

    private var privateProperty = 0 // Solo visible dentro de PublicClass

    protected open fun protectedMethod() { // Visible dentro de PublicClass y sus subclases
        // ...
    }

    internal fun internalMethod() { // Visible solo dentro del módulo ComExampleApp
        // ...
    }
}

open class BaseClass {
    protected val protectedValue = 5 // Visible dentro de BaseClass y subclases
}

class DerivedClass : BaseClass() {
    fun useProtectedValue() {
        println(protectedValue) // Acceso a protectedValue desde una subclase
    }
}