Sobes.tech
Junior — Middle

როგორ შეიძლება შეცვალოს ან შეავსოს მეთოდების ქცევა ძირითადი კლასის მემკვიდრეობით Kotlin-ში?

sobes.tech AI

პასუხი AI-სგან

Kotlin-да, негизги синфтын ыкмаларынын жүрүм-турумун өзгөртүү же кошуу үчүн override ачкыч сөзү колдонулат. Негизги синфтагы ыкма open модификатору менен жарыялануусу керек, анткени ал подклассында кайра жазылат.

Мисал:

open class Base {
    open fun greet() {
        println("Baseдан салам")
    }
}

class Derived : Base() {
    override fun greet() {
        super.greet()  // негизги класстын ыкмасын чакыруу
        println("Derivedдан салам")
    }
}

fun main() {
    val obj = Derived()
    obj.greet()
}

Бул мисалда, Base классынын greet ыкмасы Derived классында кайра жазылат, super.greet() аркылуу оригинал ишке ашырылат жана андан соң кошумча жүрүм-турум кошулат.

Ыкманын жүрүм-турумун өзгөртүү же кошуу үчүн:

  • Негизги класста ыкма open болушу керек.
  • Подклассында ыкма override менен белгиленет.
  • Оригиналдуу ыкманы super аркылуу чакырып, аны толуктап же алмаштырып коюуга болот.