Я создал этот небольшой пример Scala для понимания лучших черт.Как себя ведут Скала?
trait Writer {
def write(value: Int): Unit = {
print("Writer")
}
}
trait Hdd extends Writer {
override def write(value: Int): Unit = {
print("Hdd")
}
}
trait File extends Writer {
override def write(value: Int): Unit = {
print("File")
}
}
class TestClass extends App {
(1) val myWriter = new Writer with Hdd // This line looks fine
(2) val myNewWriter = new Writer // This line fail
}
В моем понимании, это не представляется возможным создать экземпляр Черта, и по этой причине линия (2) не удается.
Но почему-то, что я не могу понять, линия (1) выглядит нормально.
Как это возможно?
Отлично. Спасибо за вашу помощь –