Как смешать черту к экземпляру?
Учитывая чертуMyTrait
:
trait MyTrait {
def doSomething = println("boo")
}
это может быть смешано в класс сextends
или жеwith
:
class MyClass extends MyTrait
Это может также быть смешано при создании нового экземпляра:
var o = new MyOtherClass with MyTrait
o.doSomething
Но ... можно ли добавить эту черту (или любую другую, если это имеет значение) к существующему экземпляру?
Я загружаю объекты, используя JPA в Java, и я хотел бы добавить к ним некоторые функциональные возможности, используя черты. Это вообще возможно?
Я хотел бы иметь возможность смешивать в черту следующим образом:
var o = DBHelper.loadMyEntityFromDB(primaryKey);
o = o with MyTrait //adding trait here, rather than during construction
o.doSomething