先日のトライアルで、Roleがtraitでないのが気になっていたのですが、これは以下のようにすれば簡単に解決できました。
val checkingRole = (new Object with Source)(checking)
Sourceはtraitにしておいて、ダミーのObjectと一緒に生成させるわけですね。
Roleに対してAccountのメソッドが発行できないのは相変わらずですが、これならとりあえず複数のRoleをひとつのオブジェクトに対して同時に使うことは可能です。 たとえば、
val currentRole = (new Object with Role1 with Role2)(obj)
のようにするわけですね。
コメントする