CodeBlanks Logo Icon CodeBlanks

enum class

enum class ile adlandırılmış sabitler tanımlamayı öğrenirsin.

enum class: adlandırılmış sabitler

Bir enum class sabit bir değer kümesini tanımlar. Her sabit bir isimle yazılır; yanlış yazımı derleme aşamasında yakalarsın. Renkler, yönler, haftanın günleri için idealdir.

enum class Color { RED, GREEN, BLUE }
val c = Color.RED
println(c)  // RED

Sabitler virgülle ayrılır ve küme parantezi içinde yazılır. Bir sabite erişmek için Color.RED yazarsın. Böylece rakam yerine anlamlı bir isim kullanır, okunabilirliği artırırsın.

Enum sabitine erişim

Bir sabite erişmek için SınıfAdı.SABİT yazarsın. Sabit bir nesnedir; name özelliği adını verir.

val r = Color.RED
println(r.name)  // "RED"
println(r)       // RED

İki sabiti == ile karşılaştırmak güvenlidir; çünkü her sabit tek bir nesnedir. name her zaman tanımlandığı biçimdeki adı döndürür. Böylece günlük kayıtlarında veya arayüzlerde tutarlı çıktı elde edersin.

Uygulama Sinyal enum'ını tanımla

Signal adında bir enum class tanımla: RED, YELLOW, GREEN. main içinde println ile Signal.YELLOW sabitini yazdır.

Başlangıç kodu

Main.kt
fun main() {
    // Bir sinyal türü tanımla ve bir sabitini yazdır
}

Örnek çözüm

Main.kt
enum class Signal { RED, YELLOW, GREEN }

fun main() {
    println(Signal.YELLOW)
}

Beklenen çıktı

YELLOW

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 enum class ne tür değerler tutar?

  • Rastgele sayılar
  • Adlandırılmış sabitler Doğru cevap
  • Dinamik metinler
  • Dosya yolları

Açıklama: Her sabitin bir adı vardır; derleme aşamasında denetlenir.

2 Boşluğu doldur: enum sabiti

Soru
val c = Color.____
Cevap
val c = Color.RED

Açıklama: Color.RED ile sabite erişilir.

3 Sabit ve anlam eşleştir

Kavram Anlamı
RED Kırmızı
GREEN Yeşil
BLUE Mavi
name Sabitin adı

Başlangıç bölümündeki tüm dersler