Darsliklar Kotlin Konstruktor (Sinf/Class)

Kotlin Kotlin Konstruktor (Sinf/Class)

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.

Konstruktorobyekt 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.