Flutter チュートリアルを参照すると、アンダースコア、_
。
Javaでは_
は、プライベート変数の命名規則として使用されます。
_
本当にプライベートである(他のクラスからはアクセスできない)か、単なる命名規則ですか?変数
class RandomWordsState extends State<RandomWords> {
final List<WordPair> _suggestions = <WordPair>[];
final Set<WordPair> _saved = new Set<WordPair>();
final TextStyle _biggerFont = const TextStyle(fontSize: 18.0);
...
}
_
ウィジェットも非公開にしますか?この場合、メインクラスはウィジェットを評価できませんか?ウィジェット
Widget _buildRow(WordPair pair) {
final bool alreadySaved = _saved.contains(pair); // Add this line.
...
}
それは単なる命名規則ではありません。アンダースコアフィールド、クラス、およびメソッドは、.Dart
ファイルが定義されている場所。
ウィジェットのState
実装をプライベートにすることは一般的な慣行であり、対応するStatefulWidget
によってのみインスタンス化できます。
class MyPage extends StatefulWidget {
@override
_MyPageState createState() => _MyPageState();
}
class _MyPageState extends State<MyPage> {
@override
Widget build(BuildContext context) {
return Container();
}
}