2017-02-23 1 views
0
IBaseA <--- Interface 
CBaseB <--- Concrete base class 

ChildA implements IBaseA{ 
    //fields and getters, setters 
} 

ChildB extends CBaseB, implements IBaseA{ 
    //fields and getters, setters 
} 

TestClass implements RealmModel{ 
    private IBaseA child_obj; 
} 

このようTestClassをを作るための意図はTestClass.child_objにChildA又はChildBオブジェクトのいずれかを割り当て、さらに必要に応じてChildAとChildBが他のインターフェイスを実装してみましょうすることができることができるようにしました。多関係

しかし、これは、我々は上記の意図を達成するにはどうすればよい

Error:(12, 8) error: Type 'in.avanti_app.student_companion.realmClasses.TestClass' of field 'child_obj' is not supported 

コンパイル時の例外が発生?

答えて

0

多型と継承はレルムでサポートされていません。あなたは、更新のために、この問題に従うことができます:https://en.wikipedia.org/wiki/Composition_over_inheritance、おそらく理想的ではありませんあなたの状況では、それは次のようになりますので、::https://github.com/realm/realm-java/issues/761

は、一般的に、我々は代わりにコンポジションをお勧めします

public class IBaseA extends RealmObject { ChildA childA; ChildB childB; }

+0

今私は悲しいパンダです:( –