Junior — Middle
Kotlin'da asosiy sinfdan meros olishda metodlarning xulq-atvorini qanday o'zgartirish yoki to'ldirish mumkin?
sobes.tech AI
AIdan javob
Котлинда, асосий синфнинг методларининг хулосасини ўзгартириш ёки қўшиш учун 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орқали чақириш мумкин, бу билан унинг қўшимча ёки алмаштирилган ҳолати қўшилади.