0
私はキー値のペアを取るクラスを持っています。これはマップオブジェクトやケースクラスなどの形式になります。既存のクラスがスカラで特性を実装するようにする
trait Reportable {
def getAttributes : Map[String,Any]
}
リスト[レポート可能]を取るメソッドが必要です。報告のための 可能な実装は、以下のとおりです。
- 実装はちょうど私がケースクラスから属性を取るためにリフレクションを使用して何かを使用して、マップ にそれを置くことができるケースクラス
- そのものだろうマップ
問題は、Product(すべての大文字小文字のクラスの基本クラス)を作成する方法とMapクラスが自分の特色を実装する方法がわかりません。私は既存のクラスを取って、報告可能な特性をミックスし、クラスがすでに持っているメソッドの観点から実装できるようにしたい。
違法継承を試みるとエラーが表示されます。スーパークラスAnyVal はsuperclassオブジェクトのサブクラスではありません。 mixin特性のレポート可能 暗黙のクラスMapReportableOps(プライベートvalの基礎:Map [String、Any])は、ReportableでAnyValを拡張します。私はスカラーです2.11 –
'extends AnyVal'を削除するだけです。 –