Enum özellikleri
- Kotlin kursu
- Başlangıç
- Ders 96/116
- 5 dk
Enum içinde özellik ve metot tanımlamayı öğrenirsin.
Enum özellikleri: yapıcı ve alan
Bir enum class yapıcı ve özellik alabilir. Her sabit, yapıcıya uygun bir değerle tanımlanır.
enum class Planet(val distance: Int) {
MERCURY(57), VENUS(108), EARTH(150)
}
println(Planet.EARTH.distance) // 150Her sabit parantez içinde bir değer alır; bu değer distance özelliğine bağlanır. Böylece sabitlerin yanına anlamlı veri eklersin. Sabit ile veri birlikte yaşar; ayrı bir tablo gerekmez.
Enum içinde metod
Bir enum class içinde metod tanımlayabilirsin. Metod, sabitlerin özelliklerine erişebilir.
enum class Planet(val distance: Int) {
MERCURY(57), VENUS(108), EARTH(150);
fun isClose() = distance < 100
}
println(Planet.EARTH.isClose()) // falseSabit listesinin sonuna noktalı virgül konur; ardından metod gelir. Metod içinde distance gibi özelliklere doğrudan erişirsin. Böylece davranışı da veriyle birlikte taşırsın.
Uygulama Mood enum'ına emoji ekle
Mood adında bir enum class tanımla; yapıcıda val emoji: String özelliği olsun. Sabitler: HAPPY(":)"), SAD(":("). main içinde HAPPY sabitinin emoji değerini yazdır.
Başlangıç kodu
fun main() {
// Bir ruh hali türü tanımla ve bir sabitinin emojisini yazdır
}Örnek çözüm
enum class Mood(val emoji: String) {
HAPPY(":)"), SAD(":(")
}
fun main() {
println(Mood.HAPPY.emoji)
}Beklenen çıktı
:)
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Boşluğu doldur: özelliği tanımla
enum class Planet(val ____: Int) { MERCURY(57), VENUS(108) }
enum class Planet(val distance: Int) { MERCURY(57), VENUS(108) }
Açıklama: val distance: Int özelliği yapıcı ile birlikte gelir.
2 enum class Planet(val distance: Int) ne tanımlar?
- Bir arayüz
- Sadece bir metod
- Sadece sabitler
- Bir özellik ve yapıcı Doğru cevap
Açıklama: distance özelliği yapıcı parametresinden gelir.
3 Parça ve rol eşleştir
| Kavram | Anlamı |
|---|---|
distance |
Gezegen özelliği |
MERCURY(57) |
Yapıcı çağrısı |
isClose() |
Metod |
57 |
Değer |
4 Boşluğu doldur: metod çağır
val p = Planet.EARTH
val yakin = p.____()
val p = Planet.EARTH
val yakin = p.isClose()
Açıklama: isClose() metodunu çağırırsın.