從Groovy遷移到Scala以及到目前爲止愛Scala。我對Groovy深感遺憾的事情之一是,我可以在對象上定義屬性/字段,然後僅僅引用它們而不用其他類的getter。在沒有獲取者的情況下訪問Scala字段
例如,在Java:
public class Fizz {
private String buzz;
public Fizz(String buzz) {
super();
setBuzz(buzz);
}
// Getters and setters for buzz
}
但在Groovy:
class Fizz {
String buzz
}
然後,我可以從不同的類引用buzz
像這樣:
void someMethod(Fizz fizz) {
if(fizz.buzz == "gnarly!") {
...
}
}
但是似乎斯卡拉不這樣做,你必須解決這個問題:
class Fizz(buzz : String) {
...
}
def someMethod(fizz : Fizz) : Unit = {
if(fizz.getBuzz.eq("gnarly!")) {
...
}
}
爲了使我的Scala代碼「更巧妙」(這一個用例)我在裏面加入一些我的Scala類的「幫手」的方法解決:
class Fizz(buzz : String) {
def buzz() : String = { this.buzz }
}
現在允許我訪問他們像這樣:
def someMethod(fizz : Fizz) : Unit = {
if(fizz.buzz.eq("gnarly!")) {
...
}
}
我的問題:斯卡拉是否有任何其他機制/設備,讓我來完成上述所需的行爲withou不得不寫我所謂的「幫手方法」?
請閱讀斯卡拉案例類 –
不知道爲什麼這是downvoted。這是關於主題,不是一個騙局(鑑於我顯然是新來的Scala,可能不知道事情類案例或其他構造已經在此網站上查詢過),顯示研究,是一個[ SSCCE](http://sscce.org)。 – smeeb