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.
namevevalueOf(), 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.