Enum Özellikleri ve İşlevleri
Davranış ekleyin
Enum Özellikleri ve İşlevleri, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 2. 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ırmalar Veri Taşıyabilir
Numaralandırma sabitleri özellikler taşıyabilir. Numaralandırma sınıfında bir kurucu bildirin ve her sabiti listelerken değerleri gönderin.
enum class Coin(val cents: Int) {
PENNY(1), NICKEL(5), DIME(10)
}
fun main() {
println(Coin.DIME.cents)
}Kurucu Parametreleri
Her sabitten sonra parantez içinde yer alan değerler, numaralandırma kurucusuna gönderilen bağımsız değişkenlerdir. Bu değerler, ilgili sabitte salt okunur özelliklere dönüşür.
enum class Planet(val gravity: Double) {
EARTH(9.8), MOON(1.6)
}
fun main() {
println(Planet.MOON.gravity)
}Birden Çok Özellik
Bir numaralandırma aynı anda birkaç özellik bildirebilir.
enum class Fruit(val color: String, val calories: Int) {
APPLE("red", 95),
BANANA("yellow", 105)
}
fun main() {
val f = Fruit.BANANA
println("${f.color} ${f.calories}")
}Yöntem Ekleme
Numaralandırmanın gövdesinde normal işlevler bildirebilirsiniz. Her sabit bu işlevleri paylaşır.
enum class Temp(val celsius: Int) {
COLD(5), WARM(25);
fun toFahrenheit(): Int = celsius * 9 / 5 + 32
}
fun main() {
println(Temp.WARM.toFahrenheit())
}Noktalı Virgül Kuralı
Bir numaralandırmada sabitlerin ötesinde üyeler (yöntemler veya özellikler) varsa son sabitten sonra noktalı virgül koymanız gerekir.
enum class Op {
ADD, SUB;
fun describe() = "Operation: $name"
}
fun main() {
println(Op.ADD.describe())
}Her Sabit İçin Soyut Yöntemler
Numaralandırmalar, her sabitin üzerine yazdığı soyut yöntemleri bildirebilir; böylece her sabit kendi davranışına sahip olur.
enum class Math {
PLUS { override fun apply(a: Int, b: Int) = a + b },
TIMES { override fun apply(a: Int, b: Int) = a * b };
abstract fun apply(a: Int, b: Int): Int
}
fun main() {
println(Math.TIMES.apply(3, 4))
}Hesaplanan Özellikler
Özellik alıcıları, değerleri sabitin verilerine göre hesaplayabilir.
enum class Account(val balance: Int) {
SAVINGS(1000), CHECKING(50);
val isRich: Boolean get() = balance > 500
}
fun main() {
println(Account.SAVINGS.isRich)
}Veri ve Davranışı Birleştirme
Özellikler ve yöntemler, bir numaralandırmanın kapsamlı ve kapalı bir alanı modellemesini sağlar.
enum class Shape(val sides: Int) {
TRIANGLE(3), SQUARE(4);
fun describe() = "$name has $sides sides"
}
fun main() {
println(Shape.SQUARE.describe())
}Mantıkta Özellikleri Kullanma
Sabit özellikleri hesaplamalarda ve koşullarda kullanışlıdır.
enum class Tier(val discount: Int) {
BRONZE(5), GOLD(20)
}
fun price(base: Int, tier: Tier) = base - base * tier.discount / 100
fun main() {
println(price(100, Tier.GOLD))
}Varsayılan Özellik Değerleri
Numaralandırma kurucuları da diğer kurucular gibi varsayılan parametre değerlerini destekler.
enum class Role(val canEdit: Boolean = false) {
VIEWER, EDITOR(true)
}
fun main() {
println(Role.VIEWER.canEdit)
println(Role.EDITOR.canEdit)
}Tam Bir Model
Burada bir numaralandırma, hem veri hem de davranış içeren HTTP durumlarını modeller.
enum class Http(val code: Int) {
OK(200), NOT_FOUND(404);
fun isError() = code >= 400
}
fun main() {
println(Http.NOT_FOUND.isError())
}Kısa Kontrol
Numaralandırma özellikleri ve yöntemleri konusundaki anlayışınızı sınayın.
Özet
Numaralandırmaların davranış taşıyabileceğini öğrendiniz:
- Sabitlere özellik kazandırmak için kurucu ekleyin.
- Paylaşılan yöntemleri bildirin (sabitlerden sonra noktalı virgül kullanın).
- Soyut yöntemler, her sabitin kendi davranışını tanımlamasını sağlar.
- Hesaplanan ve varsayılan değerli özellikler normal şekilde çalışır.
enum class Coin(val cents: Int) {
PENNY(1), DIME(10);
fun double() = cents * 2
}
fun main() {
println(Coin.DIME.double())
}Yapay zeka eğitmeniyle Kotlin öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 51
- Dersler
- 203
Sıkça Sorulan Sorular
“Enum Özellikleri ve İşlevleri” dersi ücretsiz mi?
Evet — “Enum Özellikleri ve İşlevleri” 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 Özellikleri ve İşlevleri” dersinde ne öğreneceğim?
Davranış ekleyin 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 2. dersidir.
“Enum Özellikleri ve İşlevleri” 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
- Enum Tanımlama
- Enum Özellikleri ve İşlevleri
- when ile Enum'lar
- Enum Değerleri ve Sıra Numaraları