Sobes.tech
Junior

Parlez des modificateurs d'accès en Java et Kotlin.

sobes.tech IA

Réponse de l'IA

En Java :

  • public : accessible de n'importe où.
  • protected : accessible à l'intérieur de la classe, du paquet et des sous-classes.
  • (sans modificateur) : accessible à l'intérieur du paquet (package-private).
  • private : accessible uniquement à l'intérieur de la classe.

En Kotlin :

  • public : accessible de n'importe où (par défaut).
  • internal : accessible dans le module.
  • protected : accessible à l'intérieur de la classe et de ses sous-classes (diffère de Java en ce qui concerne l'accès dans le paquet).
  • private : accessible uniquement à l'intérieur de la classe/fichier.

Différences :

  • En Kotlin, il n'existe pas de modificateur "package-private", son équivalent est internal avec une portée différente (le module).
  • En Kotlin, protected ne donne pas accès dans le paquet comme en Java.
  • En Kotlin, private peut également être utilisé pour les déclarations de niveau supérieur (fonctions, propriétés) dans un fichier, les rendant accessibles uniquement à l'intérieur de ce fichier.
// Exemple en Kotlin
package com.example.myapp

private const val API_KEY = "secret" // Visible uniquement dans ce fichier

class MyClass {
    private val internalState = 1 // Visible uniquement dans MyClass
    protected fun protectedMethod() {} // Visible dans MyClass et ses sous-classes
    internal fun internalMethod() {} // Visible dans le module
}