Junior
Kotlin-də 'internal' giriş modifikatoru nədir və necə istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
Kotlin-də giriş modifikatoru internal bəyanatın eyni modul daxilində görünə biləcəyini göstərir. Modul, birlikdə tərtib olunan Kotlin fayllarının toplusu ola bilər, məsələn:
- Gradle modulu (mənbə kodu toplusu).
- Maven modulu.
- Ant mənbə toplusu.
Bu, modul daxilində həyata keçirilən detalları gizlətmək və onları digər modullardan əlçatan etməmək üçün faydalıdır.
internal aşağıdakı elementlərlə istifadə oluna bilər:
- Sinflər
- İnterfeyslər
- Obektlər (object)
- Funksiyalar
- Xüsusiyyətlər
- Konstruktorlar
İstifadə nümunəsi:
// "module1" modulu
package com.example.module1
internal class InternalClass {
internal fun internalFunction() {
// Bu kod yalnız module1 daxilində görünür
}
}
// Bu obyekt də yalnız module1 daxilində görünür
internal object InternalObject {
internal val internalProperty = "Daxili dəyər"
}
// "module1" modulu
package com.example.module1
fun someFunctionInModule1() {
val internalCls = InternalClass() // Mövcuddur
internalCls.internalFunction() // Mövcuddur
println(InternalObject.internalProperty) // Mövcuddur
}
// "module2" modulu
package com.example.module2
import com.example.module1.InternalClass // Tərtib xətası
import com.example.module1.InternalObject // Tərtib xətası
fun someFunctionInModule2() {
// InternalClass nümunəsi yaradıla bilməz və InternalObject-ə müraciət edilə bilməz
// val internalCls = InternalClass() // Mövcud deyil
// println(InternalObject.internalProperty) // Mövcud deyil
}
Əsas fərq public (hər yerdə görünür), private (yalnız sinif daxilində) və protected (sinif və onun alt siniflərində) ilə müqayisədə, modul səviyyəsində görünürlük səviyyəsidir.