Sobes.tech
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-ը թույլ է տալիս փոխել ժառանգած մեթոդի վարքագիծը։