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 գոռում է
}