Class

Sümeyra Özuğur🍂
2 min readMay 17, 2023

Sınıf: Property ve fonksiyonları içeren bir şablondur diyebiliriz.

Object: Sınıfa ait yapıları kullanabilmek için oluşturulan sınıf örneği.

Sınıf isimleri büyük harf ile başlar.

class Car(){
var speed = 0

companion object{
var wheel = 4
}

init{
println("init call")
}

fun increaseSpeed(speed:Int):Int{
this.speed += speed
return this.speed
}

fun decreaseSpeed(speed:Int):Int{
this.speed -= speed
return this.speed
}
}

fun main(){
val car =Car() //initialize
car.increaseSpeed(20)
car.decreaseSpeed(8)
println(car.speed) // 12

}

Classlardaki bu property ve fonksiyonları başka sınıflarda, object oluşturup bu yapıları çağırabilirsin.

İnitialize edildiği an itibaren bir sınıfın değişkenleri oluşturulur. Bellekte artık yer kaplar.

Kullanılmayan nesneler, değişkenler garbage collector yardımı ile temizlenir. Diyelim kullanıldı ama daha sonra kullanılmayacaksa da temizlenir.Burada dikkat edilmesi gereken nokta şudur nede olsa garbage collector temizliyor diyip, bol bol bu yapıları üretmemek gerekiyor. Aksi takdirde out of memory exception oluşur.

Statikler, garbage collector e aktarılmaya uygun yapılar değildir. Onlar sürekli yaşamalı ki istediğimiz zaman onlara erişebilelim. Process death olayı olasıya kadar, garbage collector statiklere dokunamaz.

Data Class

data class CategoryModel (val id:Int, val name: String )
  • Data class in içinde tanımlanan primary constructorda ki paramatreler var ya da val keyword ü ile kullanılmalı. Burada val kullanılması uygun olandır✌🏼.
  • Data classlar abstract, open, sealed, or inner olamaz
  • Data classlar, classlardan daha az yeteneğe sahiptirler.
  • Data classlar veri tutmak için kullanılır.
  • Data classlar ile model yapıları oluştururuz.

Source: Bootcamp ders notlarını içermektedir.

--

--