Junior
Kotlinдеги 'internal' кирүү модификатору эмне жана аны кантип колдонуу керек?
sobes.tech AI
AIден жооп
Kotlin-да internal кириш модификатору, эълондун ошол модуль ичинде көрүнөрүн билдирет. Модуль — бул бирге компиляцияланган Kotlin-файлдардын топтому, мисалы:
- Gradle модулу (көз карандылык топтому).
- Maven модулу.
- Ant көз карандылык топтому.
Бул модуль ичинде ишке ашырылган деталдарды жашыруу жана башка модулдар кодуна жеткиликтүү болбойт кылуу үчүн пайдалуу.
internal төмөнкү элементтер менен колдонулушу мүмкүн:
- Класстар
- Интерфейстер
- Объекттер (object)
- Функциялар
- Өзгөрмөлөр
- Конструкторлор
Колдонуу мисалы:
// "module1" модул
package com.example.module1
internal class InternalClass {
internal fun internalFunction() {
// Бул код only module1 ичинде көрүнөт
}
}
// Бул объект да only module1 ичинде көрүнөт
internal object InternalObject {
internal val internalProperty = "Ички мааниси"
}
// "module1" модул
package com.example.module1
fun someFunctionInModule1() {
val internalCls = InternalClass() // Жеткиликтүү
internalCls.internalFunction() // Жеткиликтүү
println(InternalObject.internalProperty) // Жеткиликтүү
}
// "module2" модул
package com.example.module2
import com.example.module1.InternalClass // Компиляция катасы
import com.example.module1.InternalObject // Компиляция катасы
fun someFunctionInModule2() {
// InternalClass экземплярин түзө албайсыз же InternalObjectке жеткиле албайсыз
// val internalCls = InternalClass() // Жеткиликтүү эмес
// println(InternalObject.internalProperty) // Жеткиликтүү эмес
}
Негизги айырма public (бардык жерде көрүнөт), private (тек класс ичинде), жана protected (класс жана анын подкласстары ичинде) менен салыштырганда, ал модулдар деңгээлиндеги көрүнүштүк деңгээлин белгилейт.