Veri Sınıfları
Veri tutmak için özlü sınıflar.
Veri Sınıfları, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 4. 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, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.
Veri Sınıfı Nedir?
Veri sınıfı, veri tutmak amacıyla oluşturulmuş bir sınıftır. Kotlin, bu sınıf için yararlı yöntemleri otomatik olarak oluşturur.
Bir veri sınıfı tanımlamak için class sözcüğünün önüne data yazarsınız.
Veri Sınıfı Tanımlama
Bir veri sınıfının birincil kurucusunda en az bir parametre bulunmalı ve her parametre val veya var ile işaretlenmelidir.
Burada bir ad ve yaş saklayan bir User gösterilmektedir.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Ada", 30)
println(u.name)
}Okunabilir bir toString
Normal bir sınıf anlaşılması güç bir adres yazdırır. Veri sınıfı ise her özelliği gösteren açık bir toString oluşturur.
Bu, hata ayıklamayı çok kolaylaştırır.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Ada", 30)
println(u)
}equals ile Karşılaştırma
Veri sınıfları kimliğe göre değil, içeriğe göre karşılaştırılır. Özellik değerleri aynı olan iki nesne == ile eşittir.
Normal bir sınıf ise bunların farklı olduğunu söyler.
data class Point(val x: Int, val y: Int)
fun main() {
val a = Point(1, 2)
val b = Point(1, 2)
println(a == b)
}copy İşlevi
Oluşturulan copy işlevi, mevcut bir nesneyi temel alarak yeni bir nesne oluşturur. Yalnızca belirttiğiniz özellikleri değiştirebilirsiniz.
Özgün nesne değişmeden kalır.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Ada", 30)
val older = u.copy(age = 31)
println(older)
}Yapı Bozma
Veri sınıfları yapı bozmayı destekler: özellikleri tek satırda ayrı değişkenlere açabilirsiniz.
Sıra, kurucudaki sırayı izler.
data class User(val name: String, val age: Int)
fun main() {
val (name, age) = User("Sam", 25)
println(name + " " + age)
}Varsayılan Değerler de Kullanılabilir
Her kurucuda olduğu gibi veri sınıfı parametrelerinin de varsayılan değerleri olabilir.
Bu, çağıranların ihtiyaç duymadıkları alanları atlamasını sağlar.
data class User(val name: String, val active: Boolean = true)
fun main() {
val u = User("Lee")
println(u)
}Koleksiyonlar için hashCode
Veri sınıfları ayrıca hashCode oluşturur; böylece bir Set veya Map içinde anahtar olarak doğru şekilde davranırlar.
Eşit nesneler aynı özet değerini üretir, bu nedenle yinelenenler belirlenir.
data class Point(val x: Int, val y: Int)
fun main() {
val set = setOf(Point(1, 1), Point(1, 1))
println(set.size)
}Veri Sınıfları Ne Zaman Kullanılır?
Bir nesne karmaşık davranışlar yerine çoğunlukla değer taşıdığında veri sınıfını tercih edin.
- API yanıtları
- Android'de kullanıcı arayüzü durumu
- Veritabanı kayıtları
Olasılık bakımından zengin nesneler için normal bir sınıf daha uygundur.
Veri Sınıfları İş Yükünü Azaltır
Tek bir data anahtar sözcüğü size toString, equals, hashCode, copy ve yapı bozma desteği sağlar.
Böylece artık elle yazmanız veya bakımını yapmanız gerekmeyen çok miktarda hazır kod elde edersiniz.
Veri Sınıfı ve Normal Sınıf
Normal bir sınıf kimliğe göre karşılaştırılır ve bir bellek başvurusu yazdırır. Veri sınıfı ise içeriğe göre karşılaştırılır ve değerlerini yazdırır.
data anahtar sözcüğü, oluşturulan tüm bu davranışları etkinleştirir.
class Plain(val x: Int)
data class Smart(val x: Int)
fun main() {
println(Plain(1) == Plain(1))
println(Smart(1) == Smart(1))
}Kısa Kontrol
Veri sınıflarıyla ilgili anlayışınızı sınayın.
Özet
Bir veri sınıfının otomatik olarak toString, equals, hashCode, copy ve yapı bozma desteği oluşturduğunu öğrendiniz.
Veri sınıfları, kullanıcı arayüzü durumu ve API modelleri gibi değer taşıyan nesneler için idealdir. Artık Kotlin'de işlevleri, sınıfları, kurucuları ve veri sınıflarını ele aldınız.
Sıkça Sorulan Sorular
“Veri Sınıfları” dersi ücretsiz mi?
Evet — “Veri Sınıfları” 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 Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.
“Veri Sınıfları” dersinde ne öğreneceğim?
Veri tutmak için özlü sınıflar. Android 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.
Android Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Android 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 4. dersidir.
“Veri Sınıfları” 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 Android Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Android 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.