公式にも解説あるけどわかりずらい?
とりあえずコード書いてどんなことしてくれるのか検証してみたら、定義した親クラスのプロパティとメソッドを参照してくれるようだ。。。
つまり、変数と関数を呼び出すことができるということです。
// superクラスとは、継承元のクラスのこと。今回だとHogeクラスがsuperクラスになる。
class Hoge {
String name = 'スーパークラス';
void sayName() {
print('継承するクラス');
}
void greet() {
print('Hello');
}
}
class Fuga extends Hoge {
String name = 'Fuga';
void greet() {
// superを使うと、継承元のクラスのメソッドを呼び出せる
super.greet();
print(super.name);
}
}
void main() {
fuga.greet();
fuga.sayName();
}
実行結果
Connecting to VM Service at ws://127.0.0.1:57814/HJLHuQnwFl0=/ws
Hello
スーパークラス
継承するクラス
Exited.
最後に
superってなんだろうかと毎回調べていることが多かったのですが、やっとわかりました。これであってるのか疑問ですが😅