2
我一直在努力解決這個煩人的問題一段時間沒有找到一個優雅的解決方案。斯卡拉,類層次結構和構造函數複製/粘貼
比方說,我有這樣的類層次結構:初值的
class StatWithBounds[A](val min: A, val max: A, val currentValue: A)
class StatBetween0And20(initialValue: Int) extends StatWithBounds[Int](0, 20, initialValue)
class PositiveStatOnly(initialValue: Int) extends StatWithBounds[Int](0, Integer.MAX_VALUE, initialValue)
class UncappedPercentage(initialValue: Int) extends StatWithBounds[Int](0, Integer.MAX_VALUE, initialValue)
複製/粘貼過於冗長。此外,如果我想做這樣的事情:
class Strength(initialValue: Int) extends StatBetween0And20(initialValue)
class Intelligence(initialValue: Int) extends StatBetween0And20(initialValue)
class Piety(initialValue: Int) extends StatBetween0And20(initialValue)
什麼是複製/粘貼(並想象我有10個以上的子類)!
有沒有一種優雅的方式來解決這個混亂的問題?
可能的重複[在Scala中創建子類的快捷方式,無需重複構造函數參數?](http://stackoverflow.com/questions/1653942/shortcut-for-subclassing-in-scala-without-repeating-constructor-arguments) –
默認值? – pedrofurla