我是 Scala 的新手。我正在尝试创建一个继承抽象类的对象,就像下面所示:
object Conversions extends UnitConversions
{
override def inchesToCentimeters(inches:Int) = inches * 2.5
override def gallonsToLiters(gallons:Int) = gallons * 3.78
override def milesToKilometers(miles:Int) = miles * 1.6
}
abstract class UnitConversions
{
def inchesToCentimeters(inches:Int)
def gallonsToLiters(gallons:Int)
def milesToKilometers(miles:Int)
}
当我尝试访问对象的成员函数时,输出结果为()。
Conversions.milesToKilometers(20) //I get output ()
此外,以下陈述是否有效?
var ucv:UnitConversions = new Conversions
println(ucv.milesToKilometers(3)) // I get output () here as well
Thanks in Advance !
abstract class G { def g }
。然后,class GImpl extends G { override def g: Int = 42 }
编译失败:error: overriding method g in class G of type => Unit;
。是否有编译器标志或Scala票据要求此类方法具有返回类型? - Kevin Meredith