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