Sobes.tech
Junior — Middle

Оё дар Kotlin имкон дорад, ки дар синфи меросӣ татбиқи усулро бидуни тағир додани коди манбаи он дар синфи асосӣ тағир диҳем?

sobes.tech AI

Ҷавоб аз AI

Бале, дар Kotlin имкон дорад, ки иҷрои усули дар синфи меросӣ тағир дода шавад бе тағир додани коди манбаъии синфи асосӣ, бо истифода аз механизми override. Барои ин, усул дар синфи асосӣ бояд бо модификатори open эълон карда шавад.

Масалан:

open class Base {
    open fun greet() {
        println("Салом аз Base")
    }
}

class Derived : Base() {
    override fun greet() {
        println("Салом аз Derived")
    }
}

fun main() {
    val obj: Base = Derived()
    obj.greet() // Натиҷа: Салом аз Derived
}

Бинобар ин, бе тағир додани синфи асосӣ, метавон рафторро дар синфи меросӣ тағир дод.