Junior
İstinad növü məlumatlarında irsiyyət və çoxşaxəlilik nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Miras kalıtım, bir sinifin (alt sinif, törəmə sinif) başqa bir sinifin (əsas sinif, valideyn sinif) xüsusiyyətlərini və davranışlarını qəbul etməsinə imkan verən mexanizmdir. Bu, kodun təkrar istifadəsini və sinif hiyerariyalarının yaradılmasını təşviq edir.
Polimorfizm, müxtəlif siniflərə aid obyektlərin, eyni mesaj (metod çağırışı) üçün, öz konkret növlərinə görə fərqli cavab vermək qabiliyyətidir. Miras kontekstində, bu, çox vaxt əsas sinifin metodlarının törəmə sinifdə yenidən təyin olunması ilə özünü göstərir.
Misal (Java):
// Əsas sinif
class Animal {
public void makeSound() {
System.out.println("Heyvan səs çıxarır");
}
}
// Törəmə sinif
class Dog extends Animal {
@Override // Metodun yenidən təyin olunması
public void makeSound() {
System.out.println("Hav!");
}
}
// Törəmə sinif
class Cat extends Animal {
@Override // Metodun yenidən təyin olunması
public void makeSound() {
System.out.println("Miyav!");
}
}
class Main {
public static void main(String[] args) {
Animal myDog = new Dog(); // Obyekt Dog, amma istinad tipi Animal
Animal myCat = new Cat(); // Obyekt Cat, amma istinad tipi Animal
myDog.makeSound(); // Dog metodunu çağırır
myCat.makeSound(); // Cat metodunu çağırır
}
}
Bu nümunədə:
- Miras:
DogvəCatsinifləriAnimal-dən irs alır. - Polimorfizm:
myDogvəmyCatdəyişənləri müvafiq olaraqDogvəCatobyektlərinə istinad edir, baxmayaraq ki, onların tipiAnimal-dir.makeSound()çağırıldıqda, obyektin metodu icra olunur, referans tipinin deyil.