Non conosco tutti i linguaggi di programmazione, ma è chiaro che di solito la possibilità di sovraccaricare un metodo prendendo in considerazione il suo tipo restituito (supponendo che i suoi argomenti siano dello stesso numero e tipo) non è supportata.
Intendo qualcosa del genere:
int method1 (int num)
{
}
long method1 (int num)
{
}
Non è che si tratti di un grosso problema per la programmazione, ma in alcune occasioni lo accetterei.
Ovviamente non ci sarebbe modo per quelle lingue di supportarlo senza un modo per differenziare quale metodo viene chiamato, ma la sintassi può essere semplice come qualcosa come [int] method1 (num) o [long] method1 (num) in questo modo il compilatore avrebbe saputo quale sarebbe stato quello che sarebbe stato chiamato.
Non so come funzionano i compilatori, ma questo non sembra essere così difficile da fare, quindi mi chiedo perché qualcosa del genere di solito non sia implementato.
Quali sono i motivi per cui qualcosa del genere non è supportato?
Foo
eBar
.