Junior — Middle
Kotlin'da, asosiy sinfdagi bu metodning manba kodini o'zgartirmasdan, merosxo'r sinfda metodning amalga oshirilishini o'zgartirish mumkinmi?
sobes.tech AI
AIdan javob
Ha, Kotlin'da baz sinfning manba kodini o'zgartirmasdan, voris sinfida metodani amalga oshirishni o'zgartirish mumkin, bu override mexanizmi yordamida amalga oshiriladi. Buning uchun, baz sinfdagi metod open modifikatori bilan e'lon qilinishi kerak.
Misol:
open class Base {
open fun greet() {
println("Base'dan Salom")
}
}
class Derived : Base() {
override fun greet() {
println("Derived'dan Salom")
}
}
fun main() {
val obj: Base = Derived()
obj.greet() // Chiqish: Derived'dan Salom
}
Shu tarzda, baz sinfni o'zgartirmasdan, voris sinfdagi metodning xulqini o'zgartirish mumkin.