Nie znam wszystkich języków programowania, ale jasne jest, że zwykle nie jest możliwe przeładowanie metody, biorąc pod uwagę jej typ zwracany (zakładając, że jej argumenty mają tę samą liczbę i ten sam typ).
Mam na myśli coś takiego:
int method1 (int num)
{
}
long method1 (int num)
{
}
To nie jest tak, że to duży problem z programowaniem, ale przy niektórych okazjach byłbym z tego zadowolony.
Oczywiście nie byłoby sposobu, aby te języki mogły to obsługiwać bez sposobu na odróżnienie wywoływanej metody, ale składnia tego może być tak prosta, jak coś takiego jak [int] method1 (num) lub [long] method1 (num) w ten sposób kompilator będzie wiedział, który będzie nazywany.
Nie wiem, jak działają kompilatory, ale nie wydaje się to takie trudne, więc zastanawiam się, dlaczego coś takiego zwykle nie jest wdrażane.
Jakie są powody, dla których coś takiego nie jest obsługiwane?
Foo
iBar
.