gpt4 book ai didi

scala - 对象可以在scala中扩展抽象类吗?

转载 作者:行者123 更新时间:2023-12-04 16:08:53 25 4
gpt4 key购买 nike

我是 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

提前致谢!

最佳答案

您需要为函数提供返回类型,否则它们返回Unit:

abstract class UnitConversions {
def inchesToCentimeters(inches:Int): Double
def gallonsToLiters(gallons:Int): Double
def milesToKilometers(miles:Int): Double
}

关于scala - 对象可以在scala中扩展抽象类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39622306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com