Sobes.tech
Junior

Kotlinде мурас алуу жөнүндө айтып бериңиз.

sobes.tech AI

AIден жооп

Kotlin'деги мурас берүү — бул бар болгон класстарга негизделген жаңы класстарды түзүүгө мүмкүндүк берген механизм. Жаңы класс (балдар же мурас) ата-энесинин (негизги) классынын касиеттерин (өзгөрмөлөр) жана ыкмаларын (функциялар) мурас алат. Бул кодду кайра колдонууга жана класстардын хиерархияларын түзүүгө көмөктөшөт.

Негизги өзгөчөлүктөр:

  1. Демейки түрдө ачык эмес: Kotlin'де класстар жана ыкмалар демейки түрдө final болуп саналат, бул алардын мурас алынып же кайра жазылышына жол бербейт. Мурунку мурас үчүн аларды ачык белгилөө керек, мисалы, open сөзү менен.
  2. Курулмалуулар: Төменкү класс базалык класстардын биринин курулмалуусун чакырышы керек (эгер алардын көп болсо, интерфейстердин учурда). Чакыруу (...) колдонуу менен төмөнкү классты жарыялоо учурунда болот.
  3. Ыкмаларды жана касиеттерди кайра жазуу: Базалык класстагы ыкма же касиетти төмөнкү класста кайра жазуу үчүн, алар open менен белгилениши керек жана override менен белгилениши керек.
  4. super: super сөзү базалык класстын мүчөлөрүнө төмөнкү класстан жетүү үчүн колдонулат.
  5. Жалгыз ишке ашыруу мурасы: Kotlin жалгыз ишке ашыруу мурасын колдойт (бир класс), бирок көптөгөн интерфейстердин мурасын колдойт.

Мисал катары базалык класс:

// Базалык класс
open class Animal(val name: String) {
    open fun makeSound() {
        println("$name үн чыгарат")
    }
}

Төмөнкү класс мисалы:

// Төмөнкү класс
class Dog(name: String) : Animal(name) {
    override fun makeSound() {
        println("$name чырылдайт")
    }
}

Колдонуу:

// Объекттерди колдонуу
fun main() {
    val animal = Animal("Жалпы жаныбар")
    animal.makeSound() // Чыгуу: Жалпы жаныбар үн чыгарат

    val dog = Dog("Bobby")
    dog.makeSound() // Чыгуу: Bobby чырылдайт
}