Junior — Middle
Ինչպե՞ս կարելի է փոխել մեթոդի վարքը՝ հիմնված այլ դասի վրա ստեղծված դասում։
sobes.tech AI
Պատասխան AI-ից
Որպես փոփոխել մեթոդի վարքագիծը մյուս ( ժառանգած ) դասի վրա հիմնված դասում, օգտագործվում է մեթոդի վերագրում (override) մեխանիզմը։ Սուբքլասում հայտարարում է նույն անունով և սիգնատուրայով մեթոդ, ինչպես բազային դասում, և իրականացնում է նոր տրամաբանություն։ Երբ այս մեթոդը կանչվում է սուբքլասի օբյեկտից, օգտագործվում է հենց վերագրած տարբերակը։
Օրինակ Kotlin (Android)-ում:
open class Animal {
open fun sound() {
println("Որոշ ընդհանուր ձայն")
}
}
class Dog : Animal() {
override fun sound() {
println("Հաչում")
}
}
fun main() {
val dog = Dog()
dog.sound() // Տպում է՝ Հաչում
}
Այսպիսով, override-ը թույլ է տալիս փոխել ժառանգած մեթոդի վարքագիծը։