gpt4 book ai didi

scala - 如何从另一个类访问案例类方法?

转载 作者:行者123 更新时间:2023-12-02 08:05:29 24 4
gpt4 key购买 nike

最初我在一个对象中有一个案例类。所以我可以像这样从另一个类调用 extractSales 方法:SaleProcessor.extractSales(salesJson)

object SaleProcessor {
case class Sale(name: String, type: String, description: String) {
def extractSales(salesJson: JValue): Seq[Sale] = {
salesJson.extract[Seq[Sale]]
}}}

然后我在某处读到没有必要在对象中嵌套案例类,因此决定删除 SaleProcessor 对象,只留下案例类。但在那之后我无法像以前那样调用该方法。

据我所知,如果没有对象,我必须实例化案例类。但不确定如何实现这一点,因为如果从 JSON 中提取,此时会创建 Sale 对象?

另一个问题是将案例类嵌套到对象中的最合适的方法是什么,什么被认为是 Scala 中的最佳实践?

最佳答案

您仍将方法保留在 object 中并以相同的方式调用它:

case class Sale(name: String, type: String, description: String)

object SaleProcessor {
def extractSales(salesJson: JValue): Seq[Sale] = ...
}

// elsewhere
SaleProcessor.extractSales(salesJson)

通常将对象命名为与类相同的名称(即 object Sale 而不是 object SaleProcessor),使其成为伴随对象,但不是必需的。

关于scala - 如何从另一个类访问案例类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51945726/

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