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 аркылуу чакырып, аны толуктап же алмаштырып коюуга болот.