📱
Flutter:親クラスと同名のフィールド値を子クラスで定義しないこと!
自作のクラスを継承した新しいクラスを定義する際に,青い波線表示(Vscode内で)が出ました.Dartの公式ドキュメントを見ると,親クラスと同名のフィールド値を子クラスで再定義(オーバーライド)するのは良くないそうです.(よく考えてみれば,それはそうなんですけど....笑笑)
フィールド値の定義:悪い例と良い例
- 公式ドキュメントより引用
悪い例
class Base {
Object field = 'lorem';
Object something = 'change';
}
class Bad1 extends Base {
final field = 'ipsum'; // LINT
}
class Bad2 extends Base {
Object something = 'done'; // LINT
}
良い例
class Base {
Object field = 'lorem';
Object something = 'change';
}
class Ok extends Base {
Object newField; // OK
final Object newFinal = 'ignore'; // OK
}
参考資料
(公式資料)
Discussion