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 საშუალებას აძლევს შეცვალოს მემკვიდრეობით მიღებული მეთოდის ქცევა.