(AndroidのJavaプロジェクトで)以下の構造を有するように、オブジェクトを保存します。我々が多型を使用している原因親クラスタイプのリストを格納するのに必要とされているいくつかの時点でBackendless - 親クラス
public abstract class A {
...
}
public class B extends A {
...
}
public class C extends A {
...
}
。
しかし、我々は次のように親の型のオブジェクトを格納しようとした場合:私たちは抽象クラスを保存しようとしているためエラー:
A aObject = xObject; //(xObject could be an object of type B or C)
Backendless.Persistence.save(aObject, new AsyncCallback<A>() { ...
を私たちは「CREATORを任意のプロパティせずにオブジェクトを更新できません」を取得します。
それがこの目標を達成することは可能ですか?子クラスBとCの違いは、イメージとテキストのレンダリングのようないくつかのアクションを実行する方法です。
編集1:特定の場合
特定の場合には(ミーム内部いくつかのテキストと面白い画像である)ミームを作成するAndroidアプリです。この場合、Memesは古典的な方法で描くことができます。これは上部にテキスト、下部にもう1つのテキストを含むイメージです。 MemesはQuoteとしても描くことができます。これは右の黒い四角の画像であり、文章と著者が含まれています。
この問題をモデル化するために、属性(name、topText、bottomText、image ...など)と子クラスがイメージを描画するために使用するメソッドと2つの子クラスClassicMemeを含む抽象クラスMemeを作成しました独自の方法でmemeを描画するQuoteMemeなどがあります。
問題は、ユーザーがミームを作成しているとき、彼は描画するミームの種類を切り替えることができるということですので、私はこのような状況に対処するための多型の参照が必要です。私はミーム(基底クラス)オブジェクトを格納するために進むとき、私はミームは抽象クラスであり、そしてもちろん、私はこの基本クラス参照に含まれている子オブジェクトの種類を知らないので、それが不可能であると認識します。 (私がはっきりと説明したことを願っています)。
したがって、すべてのデータプロパティはスーパークラスであり、それは永続化層に登録されていますか?サーバーからダウンロードするとどうなりますか?構図はあなたのためのより良いモデルです... – Wain
私はこの問題を解決するために構成について考えてきましたが、私はそれをはっきりと見ません。例を挙げて答えを教えてください。 –