Junior
Kotlinде мурас алуу жөнүндө айтып бериңиз.
sobes.tech AI
AIден жооп
Kotlin'деги мурас берүү — бул бар болгон класстарга негизделген жаңы класстарды түзүүгө мүмкүндүк берген механизм. Жаңы класс (балдар же мурас) ата-энесинин (негизги) классынын касиеттерин (өзгөрмөлөр) жана ыкмаларын (функциялар) мурас алат. Бул кодду кайра колдонууга жана класстардын хиерархияларын түзүүгө көмөктөшөт.
Негизги өзгөчөлүктөр:
- Демейки түрдө ачык эмес: Kotlin'де класстар жана ыкмалар демейки түрдө
finalболуп саналат, бул алардын мурас алынып же кайра жазылышына жол бербейт. Мурунку мурас үчүн аларды ачык белгилөө керек, мисалы,openсөзү менен. - Курулмалуулар: Төменкү класс базалык класстардын биринин курулмалуусун чакырышы керек (эгер алардын көп болсо, интерфейстердин учурда). Чакыруу
(...)колдонуу менен төмөнкү классты жарыялоо учурунда болот. - Ыкмаларды жана касиеттерди кайра жазуу: Базалык класстагы ыкма же касиетти төмөнкү класста кайра жазуу үчүн, алар
openменен белгилениши керек жанаoverrideменен белгилениши керек. super:superсөзү базалык класстын мүчөлөрүнө төмөнкү класстан жетүү үчүн колдонулат.- Жалгыз ишке ашыруу мурасы: 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 чырылдайт
}