Junior — Middle
Programlama dilinde kapalı sınıf ile enum arasındaki farkları açıklayın.
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin dilinde, örneğin, sealed class (kapalı sınıf) ve enum class (numune sınıfı), sınırlı bir türler kümesini modellemek için kullanılır, ancak farklı özelliklere sahiptir.
- Kapalı sınıf (sealed class), kendi özellikleri ve metodları olabilen alt sınıflar hiyerarşisi oluşturmayı sağlar. Tüm alt sınıflar, sealed sınıf ile aynı dosyada tanımlanmalıdır, bu da genişletme üzerinde kontrol sağlar.
- Enum sınıfı (enum class), sabitlerin sabit bir kümesini temsil eder, her biri bu sınıfın bir nesnesidir. Enum'lar kalıtımı desteklemez, ancak özellikler ve metodlar içerebilir.
Farklar:
- Kalıtım: sealed sınıf, farklı yapılarla çeşitli alt sınıflar oluşturmayı sağlar, enum — sabit nesne kümesi.
- Kullanım: sealed sınıf, farklı verilerle durumları ifade etmek için uygundur, enum — sabitler için.
- Genişletilebilirlik: sealed sınıf, dosya içinde genişletilebilir, enum — genişletilemez.
Örnek sealed sınıf:
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
}
Örnek enum:
enum class Direction {
NORTH, SOUTH, EAST, WEST
}