Хм, я думаю, что общий пример / случай использования того, что вы только что описали, - это расширение черты App
и переопределение определения main
.
object test extends App
{
override def main (args: Array[String]): Unit = {
println("Hello, let's get started")
}
}
В общем, почему бы вам не определить сам класс для расширения черты?
Если вы собираетесь создавать новые экземпляры B
, используя B()
(вместо new B()
), имеет смысл сделать это.
trait A{
def show:Unit
}
object B { // companion aka singleton object
def apply(){
...
}
}
class B extends A{
override def show(): Unit = {
println("inside Object")
}
}