Junior
Kotlin'da paketlar va modullar qanday tuzilganligini tushuntiring.
sobes.tech AI
AIdan javob
Paketlar kodni tashkil qilish, nomlar to‘qnashuvlarini oldini olish va o‘qilishi yaxshilash uchun ishlatiladi. Ular fayl boshida package kalit so‘zi bilan e’lon qilinadi.
Modullar Kotlin manbalar, qurilish skriptlari, resurslar va loyiha sozlamalarining to‘plamidir. Ular kompilatsiya qilish, ishga tushirish, test qilish va joylashtirish uchun ishlatiladi. IntelliJ IDEA loyihalarida modul IDE moduliga mos keladi; Gradle’da esa asosiy loyiha yoki kichik loyiha bo‘lishi mumkin.
Farqlar:
- Tashkiliy daraja: Paketlar manba kod darajasida, modullar esa loyiha kompilatsiyasi darajasida.
- Maqsad: Paketlar mantiqiy guruhlash uchun, modullar esa bog‘liqliklarni boshqarish, kompilatsiya va joylashtirish uchun.
- Hierarxiya: Paketlar nuqta bilan (masalan,
com.example.util) hierarxiya hosil qiladi, modullar esa hierarxiyaga ega bo‘lishi mumkin (Gradle’dagi kichik loyihalar) yoki mustaqil bo‘lishi mumkin. - Bog‘liqliklar: Bog‘liqliklar modullar o‘rtasida ko‘rsatiladi, paketlar o‘rtasida emas.
Paket misoli:
// Fayl: Util.kt
package com.example.util
fun formatName(firstName: String, lastName: String): String {
return "$firstName $lastName"
}
Paketdan foydalanish:
package com.example.app
import com.example.util.formatName
fun main() {
val fullName = formatName("John", "Doe")
println(fullName)
}
Modullar bilan loyiha tuzilmasi misoli (Gradle):
myproject/
├── app/ // Ilova moduli
│ ├── build.gradle.kts
│ └── src/
│ └── main/kotlin/com/example/app/Main.kt
└── util/ // Utility moduli
├── build.gradle.kts
└── src/
└── main/kotlin/com/example/util/Util.kt
app/build.gradle.kts faylida util moduliga bog‘liqlik ko‘rsatiladi:
// app/build.gradle.kts
plugins {
kotlin("jvm")
}
dependencies {
implementation(project(":util")) // util moduliga bog‘liqlik
}