Junior
Magyarázza el, hogyan épülnek fel a csomagok és modulok Kotlinben.
sobes.tech MI
Válasz az MI-től
A csomagokat a kód szervezésére, a névütközések elkerülésére és az olvashatóság javítására használják. A fájl elején a package kulcsszóval deklarálják.
A modulok Kotlin források, build szkriptek, erőforrások és projektbeállítások gyűjteményei. A fordításhoz, futtatáshoz, teszteléshez és telepítéshez használják őket. IntelliJ IDEA projektekben a modul megfelel egy IDE-modulnak; Gradle esetén pedig egy gyökér- vagy alkönyvtárnak.
Különbségek:
- Szervezési szint: A csomagok a forráskód szintjén, a modulok a projekt fordítási szintjén.
- Cél: A csomagok a kód logikus csoportosítására szolgálnak, a modulok a függőségek, fordítás és telepítés kezelésére.
- Hierarchia: A csomagok pontokkal (pl.
com.example.util) hierarchiát alkotnak, a modulok hierarchiával (Gradle alprojektek) vagy függetlenek lehetnek. - Függőségek: A függőségek a modulok között vannak megadva, nem a csomagok között.
Példa csomagra:
// Fájl: Util.kt
package com.example.util
fun formatName(firstName: String, lastName: String): String {
return "$firstName $lastName"
}
A csomag használata:
package com.example.app
import com.example.util.formatName
fun main() {
val fullName = formatName("John", "Doe")
println(fullName)
}
Példa projektstruktúrára modulokkal (Gradle):
myproject/
├── app/ // Alkalmazás modul
│ ├── build.gradle.kts
│ └── src/
│ └── main/kotlin/com/example/app/Main.kt
└── util/ // Segédmodul
├── build.gradle.kts
└── src/
└── main/kotlin/com/example/util/Util.kt
A app/build.gradle.kts fájlban meg kell adni a util modulra való függőséget:
// app/build.gradle.kts
plugins {
kotlin("jvm")
}
dependencies {
implementation(project(":util")) // Függőség a util modultól
}