Sobes.tech
Junior

Proqramlaşdırmada metodin (overriding) yenidən yazılması nə vaxt baş verir?

sobes.tech Süni İntellekt

AI-dan cavab

Yöntemlərin üst-üstə düşməsi mirasa zamanı baş verir, burada alt sinif artıq üst sinif tərəfindən müəyyən edilmiş metodun öz tətbiqini təqdim edir. Metodun imzası (ad, geri dönüş tipi və arqumentlərin sayı/tipləri) üst sinifdəki metodla uyğun olmalıdır. Bu, polimorfizmin işləməsinə imkan verir: alt sinif obyekti, üst sinif obyekti kimi istifadə olunduqda, özünə məxsus metod tətbiqini çağırır.

İstifadə nümunələri:

  • Miras alınmış davranışın məntiqini dəyişdirmək.
  • Ümumi interfeys üçün alt sinifə xas tətbiq təmin etmək.

Əsas nöqtələr:

  • -ə--ol* münasibəti tələb olunur (mirasa).
  • Metod imzası uyğun olmalıdır.
  • Giriş modifikatoru, üst sinif metoduna bərabər və ya daha az sərt ola bilər.
  • final və ya static metodlar dəyişdirilə bilməz (əksər dillərdə).
// Java nümunəsi
class Animal {
    public void makeSound() {
        System.out.println("Ümumi heyvan səsi");
    }
}

class Dog extends Animal {
    @Override // Anotasiya, dəyişdirilməni göstərir
    public void makeSound() {
        System.out.println("Hav!");
    }
}

// İstifadə
// Animal myAnimal = new Animal();
// myAnimal.makeSound(); // Nəticə: Ümumi heyvan səsi
//
// Animal myDog = new Dog();
// myDog.makeSound(); // Nəticə: Hav! (dəyişdirilmiş metod çağırılır)
# Python nümunəsi
class Animal:
    def make_sound(self):
        print("Ümumi heyvan səsi")

class Dog(Animal):
    def make_sound(self): # Metodun dəyişdirilməsi
        print("Hav!")

# İstifadə
# animal = Animal()
# animal.make_sound() # Nəticə: Ümumi heyvan səsi
#
# dog = Dog()
# dog.make_sound() # Nəticə: Hav!