Sobes.tech
Junior

Kotlinдеги пакеттер жана модулдар кандай түзүлгөнүн түшүндүрүңүз.

sobes.tech AI

AIден жооп

Пакеттер кодду уюштурууга, аталыштардын кагылышуусун алдын алууга жана окумдуулугун жакшыртууга колдонулат. Алар файлдын башында package ачкыч сөзү менен жарыяланат.

Модулдар — бул Kotlin булактарынын, курулуш скрипттеринин, ресурстардын жана долбоордун жөндөөлөрүнүн топтому. Алар компиляциялоо, иштетүү, тестирлөө жана жайгаштыруу үчүн колдонулат. IntelliJ IDEA долбоорлорунда модуль IDE модулуна туура келет; Gradleда — негизги долбоор же субдолбоор.

Аермалуулары:

  • Организация деңгээли: Пакеттер — булактын деңгээли, модулдар — долбоордун түзүү деңгээли.
  • Максаты: Пакеттер — логикалык топтоо үчүн, модулдар — көзкарандылыктарды башкаруу, түзүү жана жайгаштыруу үчүн.
  • Иерархия: Пакеттер нокта менен (мисалы, com.example.util) иерархия түзөт, модулдар иерархияга ээ болушу мүмкүн (Gradleдеги субпроекттер) же көзкарандылыксиз болушу мүмкүн.
  • Көзкарандылыктар: Көзкарандылыктар модулдар ортосунда көрсөтүлөт, пакеттер арасында эмес.

Пакеттин мисалы:

// Файл: Util.kt
package com.example.util

fun formatName(firstName: String, lastName: String): String {
    return "$firstName $lastName"
}

Пакетти колдонуу:

package com.example.app

import com.example.util.formatName

fun main() {
    val fullName = formatName("John", "Doe")
    println(fullName)
}

Проект структурасынын мисалы модулдар менен (Gradle):

myproject/
├── app/          // Колдонмо модулу
│   ├── build.gradle.kts
│   └── src/
│       └── main/kotlin/com/example/app/Main.kt
└── util/         // Колдонмолук модуль
    ├── build.gradle.kts
    └── src/
        └── main/kotlin/com/example/util/Util.kt

app/build.gradle.kts файлына util модулуна көзкарандылык көрсөтүлөт:

// app/build.gradle.kts
plugins {
    kotlin("jvm")
}

dependencies {
    implementation(project(":util")) // util модулуна көзкарандылык
}