[英]Scala constructor how to convert this in Scala language
嗨,我需要幫助如何使用兩個構造函數在 Scala 中轉換它。
public class Configure {
private final Config config;
public Configure(String confFileName) {
config = ConfigFactory.load(confFileName);
}
public Configure() {
config = ConfigFactory.load();
}
public String getString(String name) {
return config.getString(name);
}
}
class Configure(private val config :Config) {
def this() = this(ConfigFactory.load())
def this(confFileName :String) = this(ConfigFactory.load(confFileName))
}
在 Scala 中,您通常會使用伴隨對象來執行此操作:
class Configure private (config: Config) {
def configString(name: String) = config.getString(name)
}
case object Configure {
def apply(confFileName: String ) =
new Configure(ConfigFactory.load(confFileName))
def apply() =
new Configure(ConfigFactory.load())
}
這很好地將類的行為與創建它的不同方式區分開來。
[ 我重命名了getString
是因為“getter”在 Scala 中通常不以get
開頭,它們只是要檢索的值的名稱。 ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.