[基礎知識]同じ構造を持つ別名の複数テーブル作成

同じ構造を持った被継承テーブルを複数作りたい、という場合、以下の様なコードになります。

1.元になる構造体を1つ定義する。
 (例:元構造体(Basic))

2.被継承テーブルの構造体を定義する。
 (例:分類構造体(Affiliation))

(1)上記の構造体を継承(extends)して、別名の構造体を定義する。
 (例:分類構造体(Affiliation))

(2)コンストラクタの引数には、super を使う。

 以上で、被継承テーブルの構造体の定義は完了です。

3.被継承テーブルが複数ある場合は、上記2を繰り返す。

 以上で、複数の被継承テーブルの構造体の定義は完了です。

4.データを、上記2~3で定義したテーブルに登録します。

例:
// 元構造体
class Basic {
  String name;
  IconData icon;

  Basic(this.name, this.icon);
}

// 分類構造体
class Affiliation extends Basic {
  Affiliation(super.name, super.icon);
}

// 抽出条件構造体
class Extract extends Basic {
  Extract(super.name, super.icon);
}

// 分類(初期値)
List<Affiliation> affiliationList = [
  Affiliation('全てのカテゴリ',Icons.category),
  Affiliation('買物',Icons.shopping_cart),
  Affiliation('仕事',Icons.work),
  Affiliation('家事',Icons.home),
  Affiliation('プライバシー',Icons.privacy_tip),
];

// 抽出条件(初期値)
List<Extract> extractList = [
  Extract('新しいカテゴリ',Icons.add),
  Extract('完了カテゴリ',Icons.done_all),
  Extract('新しいタスク',Icons.add),
  Extract('完了タスク',Icons.done_all),
  Extract('全てのタスク',Icons.category),
];

以上で、同じ構造を持つ別名の複数テーブル作成は、完了です。

コメントを残す