Menu
CoddyTech

Dosyalarla Çalışma

Coddy'nin Kotlin Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 1 / 57.

Gerçek programlar birkaç dosyaya bölünür. Bir Kotlin programının tüm .kt dosyaları birlikte derlenir; bu nedenle bir dosyada tanımlanan bir işlev veya sınıf, aynı paketteki diğer dosyalarda import edilmeden kullanılabilir:

// Greeting.kt
fun greeting(name: String) = "Hello, $name!"

// Main.kt
fun main() {
    println(greeting("Ada"))
}

Bu programı çalıştırmak Hello, Ada! çıktısını verir: Main.kt içindeki main, Greeting.kt içinde bulunan işlevi çağırır.

Bir Kotlin dosyası yalnızca bildirimler içerir: sınıflar, fonksiyonlar, özellikler. println(...) gibi ifadeler bir fonksiyonun içinde olmalıdır. Program, geleneksel olarak Main.kt içinde yer alan fun main() ile başlar:

// Greeting.kt
fun greeting(name: String) = "Hello, $name!"
// println("hi")            // hata: ifadeler bir fonksiyonun içinde olmalıdır

// Main.kt
fun main() {
    val name = readLine() ?: "friend"
    println(greeting(name))
}

Genel düzen, sınıf başına bir dosya olacak şekildedir ve dosyaya sınıfın adı verilir: Dog.kt içinde Dog, Account.kt içinde Account bulunur. Bu bölümdeki alıştırmalarda kodunuzu bu dosyalara yazarsınız; Main.kt ise genellikle düzenleyemeyeceğiniz, sağlanan girdi/çıktı kodunu içerir. Düzenleyici her dosyayı bir sekme olarak gösterir.

Dog.kt        // class Dog(...) { ... }
Account.kt    // class Account { ... }
Main.kt       // fun main(): girdiyi okur ve sonuçları yazdırır

Görünürlük dosyalar için de geçerlidir. private olarak işaretlenmiş en üst düzey bir bildirim yalnızca kendi dosyasının içinde görünürken, varsayılan olan public her dosyada görünür olmasını sağlar:

// Secret.kt
private const val SALT = "x7"        // yalnızca bu dosya ona erişebilir
fun hashed(s: String) = s + SALT

// Main.kt
fun main() {
    println(hashed("pw"))            // sorun yok: hashed herkese açık
    // println(SALT)                 // hata: SALT, Secret.kt içinde private
}
challenge icon

Görev

Kolay

Program iki dosyadan oluşuyor. Main.kt içindeki main, adları okur ve greeting(name) sonucunu yazdırır. Greeting.kt içindeki greeting fonksiyonunu, Ada adı için Hello, Ada!, ad boş olduğunda ise Hello, friend! döndürecek şekilde tamamla.

Kodunu Greeting.kt dosyasına yaz. Main.kt, sağlanan girdi/çıktı kodunu içerir ve düzenlenemez.

Kendin dene

fun main() {
    // Sağlanan giriş/çıkış kodu: olduğu gibi bırakın
    val input = generateSequence(::readLine).toList()
    for (name in input) println(greeting(name))
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground