Konstruktor — obyekt yaratilgan paytda avtomatik ishlaydigan maxsus metod. U obyektni “tug’ilish” lahzasida sozlaydi: xususiyatlarga boshlang’ich qiymat beradi. Kotlin konstruktorlari juda ixcham — ular sinf sarlavhasining o’zida yoziladi.
Konstruktor — obyekt yaratilganda avtomatik ishlaydigan, uni sozlaydigan maxsus metod. Kotlin’da asosiy konstruktor sinf nomi yonida yoziladi.
Asosiy konstruktor
Kotlin’da konstruktor sinf sarlavhasida, qavs ichida yoziladi. Bu juda ixcham:
class Mahsulot(val nomi: String, val narxi: Int)
fun main() {
val telefon = Mahsulot("iPhone", 12000000)
println("${telefon.nomi} — ${telefon.narxi}")
}
iPhone — 12000000
class Mahsulot(val nomi: String, val narxi: Int) — bu bir qatorda ham konstruktor, ham xususiyatlarni yaratdi. val tufayli parametrlar avtomatik xususiyatga aylandi. Bu Kotlin’ning eng ixcham imkoniyatlaridan biri — Java’da bu ancha uzun bo’lardi.
init bloki
Agar konstruktorda qo’shimcha mantiq kerak bo’lsa, init bloki ishlatiladi. U obyekt yaratilganda bajariladi:
class Foydalanuvchi(val ism: String) {
init {
println("$ism yaratildi")
}
}
fun main() {
val u = Foydalanuvchi("Master Sherkulov")
println(u.ism)
}
Master Sherkulov yaratildi
Master Sherkulov
init bloki obyekt yaratilganda avtomatik ishladi. Bu tekshiruv yoki tayyorlash ishlari uchun foydali.
Standart parametrli konstruktor
Konstruktor parametrlariga standart qiymat berish mumkin:
class Foydalanuvchi(val ism: String = "mehmon", val yosh: Int = 0)
fun main() {
val a = Foydalanuvchi("Farrux", 26)
val b = Foydalanuvchi() // standart qiymatlar
println("${a.ism}, ${a.yosh}")
println("${b.ism}, ${b.yosh}")
}
Farrux, 26
mehmon, 0
b obyekti argumentsiz yaratildi, shuning uchun standart qiymatlar (mehmon, 0) ishlatildi. Bu konstruktorni moslashuvchan qiladi.
Ikkilamchi konstruktor
Kotlin’da constructor bilan qo’shimcha (ikkilamchi) konstruktorlar ham yaratish mumkin, ammo asosiy konstruktor va standart parametrlar ko’p hollarda yetarli bo’ladi. Kotlin falsafasi — imkon boricha ixcham va sodda kod yozish.
Xulosa
Bu bo’limda Kotlin konstruktorini — sinf sarlavhasidagi asosiy konstruktor, val bilan avtomatik xususiyat, init bloki va standart parametrlarni ko’rib chiqdik. Kotlin konstruktorlari juda ixcham. Keyingi darsda obyektga kirish ma’lumoti — foydalanuvchidan qiymat olishga o’tamiz.