最初我在一个对象中有一个案例类。所以我可以像这样从另一个类调用 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/