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()
}
Дар ин мисол, методи greet синфи Base дар синфи Derived навишта мешавад, ки бо истифода аз super.greet() иҷро мешавад, ва баъд рафтори иловагӣ илова карда мешавад.
Барои тағир додан ё илова кардани рафтор ба метод:
- Дар синфи асосӣ, метод бояд
openбошад. - Дар синфи зерӣ, метод бо
overrideишора мешавад. - Методи аслӣ бо
superдаъват кардан мумкин аст, то ки онро пурра кунад, на иваз кунад.