Sobes.tech
Junior — Middle

Мақсади ва хусусиятҳои истифодаи тағйиргари дастрасии internal дар забони Kotlin чист?

sobes.tech AI

Ҷавоб аз AI

Модификатори дастрасӣ internal дар Kotlin маҳдуд мекунад, ки намоишёбии унсур (синф, функсия, хусусият) дар доираи як модул маҳдуд шавад. Модул одатан як модул Gradle ё як воҳиди компилятсия мебошад.

Хусусиятҳои internal:

  • Унсурҳое, ки бо internal нишон дода шудаанд, дар ҳамаи файлҳо дар дохили як модул дастрас мебошанд.
  • Берун аз модул, чунин унсурҳо дастрас нестанд, ҳатто агар онҳо public бошанд.
  • Ин имкон медиҳад, ки иҷроишро дар дохили модул пинҳон кард, бидуни он ки онро комилан хусусӣ гардонад.

Маслиҳат барои истифода:

internal class InternalHelper {
    fun doWork() = println("Ман кор мекунам")
}

fun main() {
    val helper = InternalHelper()
    helper.doWork()
}

Агар кӯшиш кунед, ки InternalHelper-ро аз дигар модул истифода баред, компилятор хато медиҳад.

internal барои ташкил кардани код кӯмак мекунад, вақте ки шумо мехоҳед дастрасиро ба тафсилоти иҷро маҳдуд кунед, аммо дар дохили модул дастрасиро таъмин кунед.