Junior
Proqramlaşdırmada irs haqqında nə deyə bilərsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
Mirasçılıq obyekt yönümlü proqramlaşdırmanın mexanizmidir və bu, bir sinfinin (alt sinif və ya törəmə sinif) başqa bir sinfinin (ata və ya əsas sinif) xüsusiyyətlərini və metodlarını miras almağa imkan verir.
Əsas anlayışlar:
- Kodun təkrar istifadəsi: Mirasçılıq, törəmə sinfə ata sinfinin artıq mövcud olan kodundan istifadə etməyə imkan verir və təkrarlamaları qarşısını alır.
- is-a münasibəti: Mirasçılıq "bir şeydir" (is-a) münasibətini modelləşdirir. Məsələn, "Bir it bir məxluqdur".
- Genişləndirmə: Törəmə sinif yeni xüsusiyyətlər və metodlar əlavə edə bilər və ya mövcud metodları (override) yenidən yaza bilər, bu da onun davranışını dəyişir.
Swift-də:
- Miras yalnız sinflər üçün dəstəklənir. Strukturlar və enumlar miras dəstəkləmir.
classaçar sözü istifadə olunur.- Törəmə sinif, iki nöqtədən və ata sinifin adından sonra göstərilir.
- Ata sinifin metodları
overrideaçar sözü ilə yenidən yaza bilər. - Ata sinifin həyata keçirilməsinə
superaçar sözü vasitəsilə daxil olmaq olur.
Nümunə:
class Animal {
var name: String
init(name: String) {
self.name = name
}
func makeSound() {
print("Naməlum səs")
}
}
class Dog: Animal {
func bark() {
print("Hav!")
}
override func makeSound() {
print("Hav-hav!")
}
}
let myDog = Dog(name: "Baron")
myDog.makeSound() // Çıxış: Hav-hav!
myDog.bark() // Çıxış: Hav!
Əhəmiyyətlidir ki, mirasın həddindən artıq və ya yanlış istifadəsi kodun elastikliyinə və dəstəyinə mənfi təsir göstərə bilər (məsələn, "qırılan əsas sinif problemi"). Swift-də, elastikliyi təmin etmək üçün çox vaxt digər mexanizmlər, məsələn, kompozisiya və protokollar üstün tutulur.