3
我是新來的斯卡拉,現在我正在創建我的第一個枚舉(案例類覆蓋toString
)。如何在Scala中構建適當的名稱空間?
package views.helper.button
abstract sealed class Size(identifier: Option[String])
{
def this(identifier: String) = this(Some(identifier))
override def toString: String = identifier match
{
case Some(identifier) => "btn-" + identifier
case _ => ""
}
case object Mini extends Size("mini")
case object Small extends Size("small")
case object Default extends Size(None)
case object Large extends Size("normal")
}
來自Java背景這是我的第一次嘗試。訪問像button.Size.Mini
這樣的大小寫對象對我來說似乎很自然。但看起來我無法訪問該類的內部對象。將它們放置在Size
類下面可以正常工作,但會導致名稱空間混亂。
這是爲什麼?你如何模擬這種行爲?這可以通過一個對象延伸Enumeration
(我認爲toString
會成爲一個問題..)更優雅。
我見過'object'被用於命名空間。你意識到'object'是一個創建了單例實例的類,rt ?. – anoopelias 2013-02-27 15:31:26