0Pricing
Kotlin Academy · Ders

Enum Tanımlama

Adlandırılmış sabit kümeleri

Enum Tanımlama, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.

Numaralandırma Nedir?

Bir numaralandırma sınıfı, adlandırılmış sabitlerden oluşan sabit bir küme tanımlar. Bir değer yalnızca küçük ve bilinen bir seçenek grubundan biri olabiliyorsa bunu kullanın.

  • Her sabit, numaralandırma türünün bir örneğidir.
  • Derleyici başka değerlerin mümkün olmadığını garanti eder.
enum class Direction {
    NORTH, SOUTH, EAST, WEST
}

fun main() {
    val d = Direction.NORTH
    println(d)
}

Neden Yalnızca Dizgeler Kullanmayalım?

Dizgeler yazım hatalarına ve geçersiz değerlere izin verir. Numaralandırma, geçersiz durumları imkânsız kılar: derleyici, bildirilen kümenin dışındaki her şeyi reddeder.

enum class Status { ACTIVE, INACTIVE }

fun main() {
    val s: Status = Status.ACTIVE
    println("Current: $s")
}

Sabitleri Bildirme

Sabitler, virgüllerle ayrılmış olarak küme ayraçları arasında listelenir. Geleneksel olarak UPPER_SNAKE_CASE biçiminde yazılırlar.

enum class Size {
    SMALL, MEDIUM, LARGE, EXTRA_LARGE
}

fun main() {
    println(Size.EXTRA_LARGE)
}

Her Sabit Bir Nesnedir

Her numaralandırma sabiti, numaralandırma türünün tek örnekli bir örneğidir. Sabite her zaman Color.RED örneğinde olduğu gibi numaralandırma adını kullanarak başvurursunuz.

enum class Color { RED, GREEN, BLUE }

fun main() {
    val c = Color.GREEN
    println(c == Color.GREEN)
}

Numaralandırma Değerlerini Karşılaştırma

Numaralandırma sabitleri == ile karşılaştırılabilir. Her biri tek örnek olduğu için eşitlik ve başvuru kimliği birbirine karşılık gelir.

enum class Light { RED, YELLOW, GREEN }

fun main() {
    val signal = Light.RED
    if (signal == Light.RED) println("Stop")
}

name Özelliğini Okuma

Her sabit, bildiriminin tam dizesini içeren yerleşik bir name özelliği sunar.

enum class Planet { MERCURY, VENUS, EARTH }

fun main() {
    val p = Planet.EARTH
    println(p.name)
}

Bir Dizgeden valueOf

Oluşturulan valueOf() işlevi, eşleşen bir dizeyi numaralandırma sabitine dönüştürür. Eşleşmeyen bir dize istisna oluşturur.

enum class Day { MON, TUE, WED }

fun main() {
    val d = Day.valueOf("TUE")
    println(d)
}

Numaralandırmaları Parametre Olarak Kullanma

Numaralandırmalar işlev parametreleri için çok uygundur: çağıranlar yalnızca geçerli sabitlerden birini gönderebilir.

enum class Level { LOW, HIGH }

fun setVolume(level: Level) {
    println("Volume set to $level")
}

fun main() {
    setVolume(Level.HIGH)
}

Numaralandırmalar Okunabilirliği Artırır

Direction.NORTH ifadesini içeren kod kendini açıklar. 0 veya 1 gibi sihirli sayılarla karşılaştırıldığında amaç açıktır.

enum class Gear { PARK, DRIVE, REVERSE }

fun main() {
    val current = Gear.DRIVE
    println("Gear is $current")
}

Gerçekçi Bir Örnek

Kart türlerinden oluşan küçük bir kümeyi modellemek, numaralandırma için mükemmel bir kullanım alanıdır.

enum class Suit { HEARTS, DIAMONDS, CLUBS, SPADES }

fun main() {
    for (suit in Suit.values()) {
        println(suit)
    }
}

Tek Sabitli Numaralandırmalar

Tek bir sabit bile geçerlidir; bu kullanım genellikle tam olarak tek bir değeri modellemek için tercih edilir (basit bir tek örnekli çözüm).

enum class AppMode { PRODUCTION }

fun main() {
    println(AppMode.PRODUCTION)
}

Kısa Kontrol

Numaralandırmaları tanımlama konusundaki anlayışınızı sınayın.

Özet

Numaralandırmaları tanımlamayı öğrendiniz:

  • enum class, adlandırılmış sabitlerden oluşan sabit bir küme bildirir.
  • Her sabit, numaralandırma adı üzerinden erişilen tek örnekli bir örnektir.
  • name ve valueOf(), sabitlerle dizeler arasında geçiş sağlar.
  • Numaralandırmalar, geçersiz değerleri derleme zamanında önler.
enum class Direction { NORTH, SOUTH, EAST, WEST }

fun main() {
    println(Direction.valueOf("EAST").name)
}

Sıkça Sorulan Sorular

“Enum Tanımlama” dersi ücretsiz mi?

Evet — “Enum Tanımlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.

“Enum Tanımlama” dersinde ne öğreneceğim?

Adlandırılmış sabit kümeleri Kotlin Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kotlin Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Enum Tanımlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kotlin Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Enum Tanımlama
  2. Enum Özellikleri ve İşlevleri
  3. when ile Enum'lar
  4. Enum Değerleri ve Sıra Numaraları
← Kotlin Academy Sayfasına Dön