Darsliklar Kotlin Method (Sinf/Class)

Kotlin Kotlin Method (Sinf/Class)

Metod (sinf ichida) — obyektning “nima qila olishini” belgilaydigan xatti-harakat. Agar xususiyatlar obyektning ma’lumotini ifodalasa, metodlar shu ma’lumot ustida amal bajaradi. Aynan metodlar tufayli obyekt jonli, faol birlikka aylanadi.

Metodsinfga tegishli funksiya bo’lib, o’sha sinf obyektining xususiyatlariga bevosita murojaat qila oladi va ular ustida amal bajaradi.

Ma’lumotni o’zgartiradigan metod

Metod obyektning o’z xususiyatlarini o’qishi ham, o’zgartirishi ham mumkin:

class Hisob {
    var balans = 0

    fun toldirish(summa: Int) {
        balans += summa
    }

    fun korsat() {
        println("Balans: $balans")
    }
}

fun main() {
    val h = Hisob()
    h.toldirish(500)
    h.toldirish(300)
    h.korsat()
}
Balans: 800

toldirish metodi obyektning balans xususiyatini o’zgartirdi. Metod ichida balans deb yozganda, u aynan chaqirilgan obyektning xususiyatini bildiradi.

this kalit so’zi

this chaqirilgan obyektning o’ziga ishora qiladi. U parametr nomi xususiyat nomi bilan bir xil bo’lganda kerak:

class Talaba {
    var ball = 0
    fun ornat(ball: Int) {
        this.ball = ball   // this.ball — xususiyat, ball — parametr
    }
}

fun main() {
    val t = Talaba()
    t.ornat(90)
    println("Ball: ${t.ball}")
}
Ball: 90

this.ball obyektning xususiyatini, oddiy ball esa parametrni bildiradi. this chalkashlikni bartaraf etadi.

Kengaytma funksiyalari

Kotlin’ning kuchli imkoniyati — kengaytma funksiyalari. Ular mavjud sinfga (hatto standart sinflarga) yangi metod qo’shadi, sinfni o’zgartirmasdan:

fun String.salomBer(): String {
    return "Salom, $this!"
}

fun main() {
    println("Farrux".salomBer())
}
Salom, Farrux!

fun String.salomBer()String sinfiga yangi metod qo’shdi. Endi har qanday matnda .salomBer() ni chaqirish mumkin. Bu Kotlin’ning eng sevimli va kuchli xususiyatlaridan biri.

Metod turlari

Kotlin metodlarini jadvalda ko’ramiz:

Tur Tavsifi
Oddiy metod sinf ichidagi funksiya
Kengaytma funksiyasi mavjud sinfga yangi metod
Bir ifodali metod = ifoda bilan qisqa

Xulosa

Bu bo’limda metodlar bilan ma’lumotni o’zgartirish, this kalit so’zi va Kotlin’ning kuchli kengaytma funksiyalarini ko’rib chiqdik. Metodlar — obyektni jonli qiladigan xatti-harakat. Keyingi darsda konstruktorlarga o’tamiz.