sealed class ve sealed interface: Hangisi Ne Zaman Kullanılır
Kotlin'de sealed sınıflar ile arayüzler arasındaki farkı anlayın.
sealed class ve sealed interface: Hangisi Ne Zaman Kullanılır, 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.
Kotlin'de Mühürlü Türler
mühürlü sınıf Temelleri
sealed class Shape
class Circle(val radius: Double) : Shape()
class Rectangle(val w: Double, val h: Double) : Shape()
object Unknown : Shape()mühürlü arayüz: Daha Esnek
sealed interface Result<out T>
data class Success<T>(val value: T) : Result<T>
data class Error(val ex: Exception) : Result<Nothing>Temel Farklar
// sealed class subtype extends another class:
sealed interface Command
class MoveCommand(val dx: Int, val dy: Int) : Command, Serializable
class ResizeCommand(val scale: Double) : Command, CloneableTüm Olasılıkları Kapsayan when: else Gerekmez
fun area(shape: Shape): Double = when (shape) {
is Circle -> Math.PI * shape.radius * shape.radius
is Rectangle -> shape.w * shape.h
} // no 'else' — compiler guarantees completenessAlt Tür Eklemek Mevcut when İfadelerini Bozar
// Add Triangle to Shape:
class Triangle(val base: Double, val height: Double) : Shape()
// Now the area() function above won't compile until
// a Triangle branch is added — safety net!Ortak Özelliklere Sahip Mühürlü Sınıflar
sealed class NetworkResult {
abstract val timestamp: Long
}
data class SuccessResult(val data: String, override val timestamp: Long) : NetworkResult()
data class FailureResult(val error: String, override val timestamp: Long) : NetworkResult()İç İçe Mühürlü Türler
sealed interface UiState
object Loading : UiState
sealed interface Loaded : UiState
data class Content(val items: List<String>) : Loaded
data class Empty(val hint: String) : Loaded
data class Failure(val error: String) : UiStateDurumsuz Varyantlar için object Alt Türleri
sealed class Direction
object North : Direction()
object South : Direction()
object East : Direction()
object West : Direction()
fun move(d: Direction) = when (d) {
North -> y++
South -> y--
East -> x++
West -> x--
}Mühürlü Türle Birlikte sealed + data class + object
sealed class LoadState
object Idle : LoadState()
object Loading : LoadState()
data class Success(val count: Int) : LoadState()
data class Error(val msg: String) : LoadState()mühürlü sınıf ile arayüz Arasında Seçim Yapma
Kısa Kontrol
Özet
Sıkça Sorulan Sorular
“sealed class ve sealed interface: Hangisi Ne Zaman Kullanılır” dersi ücretsiz mi?
Evet — “sealed class ve sealed interface: Hangisi Ne Zaman Kullanılır” 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.
“sealed class ve sealed interface: Hangisi Ne Zaman Kullanılır” dersinde ne öğreneceğim?
Kotlin'de sealed sınıflar ile arayüzler arasındaki farkı anlayın. 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.
“sealed class ve sealed interface: Hangisi Ne Zaman Kullanılır” 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
- sealed class ve sealed interface: Hangisi Ne Zaman Kullanılır
- Sealed Hiyerarşilerle Eksiksiz when
- Sealed Sınıflarla Kullanıcı Arayüzü Durumlarını Modelleme
- Sealed Hiyerarşileri İç İçe Yerleştirme ve Birleştirme