【Flutter/Dart】クラスの継承|extends/super/@override

Dartで親クラスをextendsで継承(サブクラスを生成)する方法を紹介します。

super」「@override」とは何かについても解説していきます。

\ 世界最大級のオンライン学習サービス /

目次

extends|親クラスを継承

親クラスに引数がない場合

class サブクラス名 extends 親クラス名{}

親クラスで引数を必要としない場合は上記コードのようにクラスを継承できます。

親クラスに引数がある場合

class サブクラス名 extends 親クラス名 {
  サブクラス名(引数) : super(引数);
}

親クラスで引数を必要とする場合、サブスクラスのコンストラクタで「super」を使って親クラスのコンストラクタを呼び出し継承します。

super|サブクラスから親クラスを呼び出す

親クラスのコンストラクタに引数を渡す

class サブクラス名 extends 親クラス名 {
  サブクラス名(引数) : super(引数);
}

親クラスのサブクラスのコンストラクタで「super」を使って親クラスのコンストラクタを呼び出し継承します。

親クラスのプロパティ・メソッドを呼び出す

super.親クラスのプロパティ名
super.親クラスのメソッド名

サブクラスから親クラスのプロパティ・メソッドを呼び出すには上記のように「super.〇〇」で呼び出します。

@override|親クラスのメソッドをオーバーライド(上書き)

@override
親クラスでオーバーライドしたいメソッド

親クラスのメソッド・ゲッター・セッターをオーバーライドするには「@override」を記述した後で同名で再定義するだけです。

  • URLをコピーしました!
目次