相关疑难解决方法(0)

函数重载按返回类型?

为什么更多主流的静态类型语言不支持返回类型的函数/方法重载?我想不出那样做.通过参数类型支持过载似乎没有那么有用或合理.怎么这么不受欢迎呢?

programming-languages overloading language-design function-calls

248
推荐指数
5
解决办法
10万
查看次数

为什么sumBy(selector)不返回Long?

sumBy(selector)返回Int

sumByDouble(selector)返回Double

为什么sumBy不返回Long?这有解决方法吗?

kotlin

14
推荐指数
3
解决办法
2698
查看次数

为什么没有为不同的返回类型定义方法重载?

在Scala中,您可以通过使用共享公共名称但具有不同arities或不同参数类型的方法来重载方法.我想知道为什么这也没有扩展到方法的返回类型?请考虑以下代码:

class C {
  def m: Int = 42
  def m: String = "forty two"
}

val c = new C
val i: Int = C.m
val s: String = C.m
Run Code Online (Sandbox Code Playgroud)

有什么理由不适用吗?

谢谢,

文森特.

oop methods scala overloading

9
推荐指数
3
解决办法
2901
查看次数

为什么C#不考虑多态中函数的返回类型?

有两个函数具有相同的名称和相同的参数集,但具有不同的返回类型.为什么它不是多态的形式,即方法重载?为什么编译器不允许这样做?

c# oop polymorphism overloading

7
推荐指数
2
解决办法
472
查看次数

为什么在区分方法时不考虑返回类型?

可能重复:
Java - 为什么没有基于返回类型的方法重载?

在区分方法时,编译器不考虑返回类型,因此即使它们具有不同的返回类型,也不能使用相同的签名声明两个方法.
Java教程

为什么是这样?

java overloading

5
推荐指数
1
解决办法
629
查看次数

Java虚拟机是否允许在返回类型上重载?

我已经完成了这个演讲.

幻灯片编号:26引用

Java language does not allow overloading on return type

Java Virtual machine does allow overloading on return type
Run Code Online (Sandbox Code Playgroud)

这些陈述是真的吗?如果两个语句都为真,那么如何使代码可编译以便jvm运行代码?

我有一个关于这个主题的SE问题:

Java - 为什么没有基于返回类型的方法重载?

提前致谢.

java polymorphism jvm overloading

2
推荐指数
2
解决办法
476
查看次数

Scala使用不同的返回类型来表示相同的方法和参数

我在Scala 2.10.2上尝试定义一个特征

trait Foo {
  def bar(a:String): String
  def bar(a:String): Int
}
Run Code Online (Sandbox Code Playgroud)

获得编译器错误method a is defined twice.什么是正确的语法?

scala

1
推荐指数
2
解决办法
2153
查看次数