Junior — Middle
Yalnızca qaytarılan nəticə növü ilə fərqlənən metodların yüklənməsini istifadə etməyə nə mane olur?
sobes.tech Süni İntellekt
AI-dan cavab
Yalnızca geri dönüş tipinə görə fərqlənən metodların yüklənməsi mümkün deyil, çünki tərtibçi yalnız geri dönüş nəticəsinin tipinə əsaslanaraq hansı metodun çağırılacağını dəqiq müəyyən edə bilməz. Bir metod çağırıldıqda, tərtibçi metodun adını və parametr növlərini nəzərdən keçirir, amma geri dönüş tipinə baxmır.
Məsələn, iki metod varsa:
func getValue() -> Int { ... }
func getValue() -> String { ... }
getValue() çağırıldıqda, tərtibçi hansı versiyanı çağıracağını başa düşə bilməz, çünki metodların imzaları ad və parametrlər baxımından üst-üstə düşür (heç biri yoxdur), və fərq yalnız geri dönüş tipindədir.
Bu səbəbdən, metodların yüklənməsi üçün onları parametr sayı və ya növləri ilə fərqləndirmək lazımdır, geri dönüş tipi ilə deyil.