Sobes.tech
Junior — Middle

Obyekt yönümlü proqramlaşdırmada metodun yüklənməsi ilə onun üst-üstə qoyulması necə fərqləndirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Yöntem yükləməsi (overloading) və metodun üst-üstə düşməsi (overriding) obyekt yönümlü proqramlaşdırmada fərqli anlayışlardır:

  • Yöntem yükləməsi: eyni sinifdə, müxtəlif parametrlərlə (növ, say) eyni adlı bir neçə metodun olmasıdır. Bu, müxtəlif arqumentlərlə metodun çağırılmasına imkan verir.

  • Yöntem üst-üstə düşməsi: bir alt sinifin, əsas sinifdə artıq müəyyən edilmiş və eyni imzaya (ad və parametrlər) malik metodun öz tətbiqini təqdim etməsidir. Bu, alt sinif üçün metodun davranışını dəyişdirməyə imkan verir.

Java nümunəsi:

class Animal {
    void sound() {
        System.out.println("Bəzi səs");
    }

    void sound(String mood) { // yükləmə
        System.out.println("Səs " + mood);
    }
}

class Dog extends Animal {
    @Override
    void sound() { // üst-üstə düşmə
        System.out.println("Havlama");
    }
}

Burada, sound() Dog sinifində əsas sinifin metodunu üst-üstə düşür və sound(String mood) eyni sinifdə metodun yüklənməsidir.