Sobes.tech
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: DogCat sinifləri Animal-dən irs alır.
  • Polimorfizm: myDogmyCat dəyişənləri müvafiq olaraq DogCat obyektlərinə istinad edir, baxmayaraq ki, onların tipi Animal-dir. makeSound() çağırıldıqda, obyektin metodu icra olunur, referans tipinin deyil.