Metodların yüklənmə qaydaları haqqında danış.
sobes.tech Süni İntellekt
AI-dan cavab
Obyekt yönümlü proqramlaşdırmada (Method Overloading) metodların eyni sinifdə, lakin fərqli imzalarla təyin olunmasına imkan verir.
Metodların yüklənməsi üçün əsas qaydalar:
-
İmzalar arasındakı fərq: Bir metodun imzası, metodun adı və onun parametrlərinin tiplərinin siyahısı ilə müəyyən edilir. Metodlar yüklənmiş sayılmaq üçün, onların imzaları fərqli olmalıdır.
// Fərqli imza nümunələri void print(int i) { } void print(String s) { } void print(int i, String s) { } void print(String s, int i) { } // Parametrlərin sırasının fərqi -
Metodun adı eyni olmalıdır: Yüklənmiş metodlar eyni ada malik olmalıdır.
// Düzgün yükləmə nümunəsi class Example { void process(int a) { } void process(double b) { } } -
Qaytarma tipi imzanın bir hissəsi deyil: Yalnız qaytarma tipini dəyişdirmək, metodların yüklənmiş olmasını təmin etmir. Kompilyator, parametrlərin imzaları eynidirsə, hansı metodun çağırılacağını ayıra bilməz.
// Yükləmə deyil - tərtib xətası int calculate() { return 1; } String calculate() { return "error"; } -
Erişim modifikatorları və istisna spesifikatorları yüklənməyə təsir etmir: Eynilə qaytarma tipi kimi, yalnız erişim modifikatorlarını (
public,private,protected, default) və atılan istisnaların siyahısını (throws) dəyişdirmək, yüklənməyə səbəb olmur.// Yükləmə deyil - tərtib xətası, parametrlərin imzaları eynidirsə public void doSomething() { } private void doSomething() { } -
Parametrlərin sırası əhəmiyyətlidir: Parametrlərin tiplərinin sırasını dəyişdirmək, imzaları fərqli edir.
// Yüklənmişdir void setup(int width, int height) { } void setup(int height, String unit) { } // İkinci parametr fərqli void setup(String unit, int size) { } // Tip və sıralama fərqli -
Parametrlərin sayı əhəmiyyətlidir: Fərqli parametr sayılarına malik olmaq, fərqli imzalarla nəticələnir.
// Yüklənmişdir void log(String message) { } void log(String message, int level) { }
Beləliklə, metod yüklənməsinin əsas faktoru, metodun imzasının unikal olmasıdır, bu da onun adı və parametrlərin (tiplər və sıralama) toplusu ilə müəyyən edilir.