Ich kenne nicht alle Programmiersprachen, aber es ist klar, dass normalerweise die Möglichkeit einer Überladung einer Methode unter Berücksichtigung ihres Rückgabetyps (vorausgesetzt, ihre Argumente haben dieselbe Anzahl und denselben Typ) nicht unterstützt wird.
Ich meine so etwas:
int method1 (int num)
{
}
long method1 (int num)
{
}
Es ist nicht so, dass es ein großes Problem für die Programmierung ist, aber manchmal hätte ich es begrüßt.
Natürlich gibt es für diese Sprachen keine Möglichkeit, dies zu unterstützen, ohne zu unterscheiden, welche Methode aufgerufen wird, aber die Syntax dafür kann so einfach sein wie [int] method1 (num) oder [long] method1 (num) Auf diese Weise würde der Compiler wissen, welcher aufgerufen werden würde.
Ich weiß nicht, wie Compiler funktionieren, aber das scheint nicht so schwierig zu sein. Deshalb frage ich mich, warum so etwas normalerweise nicht implementiert wird.
Was sind die Gründe, warum so etwas nicht unterstützt wird?
Foo
undBar
.