[Flutter/Dart]クラスやメンバ(プロパティ・メソッド)の名前の前につく「_(アンダースコア)」の意味は何か

このページには広告が含まれる場合があります。

 

Flutterアプリを作るためのプログラミング言語であるDartでは、ファイルの冒頭に「import」文を書くことで、今コードを書いているDartファイルに存在しないクラス(そのDartファイルにあるトップレベル関数・プロパティ含む)を使うことができます。

しかし、「import文」によって「輸入」されたDartファイルの全てのクラス及びクラスに属しているメンバ(プロパティ・メソッド)が使えるわけではなく、仮にimportされても他のDartファイルからアクセスしてほしくないものには、名前の前に「_(アンダースコア)」をつけることで、他のDartからアクセスしないようにすることができます。

他のプログラミングでは、この仕組を名前の前に「private」「public」などのアクセス修飾子をつけることによって区別することが多いですが、Dartではそれをアンダースコアのある無しで区別しています。

(Javaの場合)

private class HomeScreenState {

(Dartの場合)

class _HomeScreenState {

Unlike Java, Dart doesn’t have the keywords publicprotected, and private. If an identifier starts with an underscore (_), it’s private to its library. 

(Javaと違い、Dartにはpublic、protected、privateというキーワードがありません。識別子がアンダースコア(_)で始まる場合は、そのライブラリのプライベートです。)

(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)

こんな記事も読まれています

イチオシ

40代から感じるモヤモヤを解消できる 無料動画セミナー

あすコロ式・40代からの人生アップデート【新】戦略

アラフォーでキャリアを失ったバリバリ左脳人間・スピリチュアル耐性ゼロの元金融マンが、人生どん底から立ち上がる過程でたどり着いた「人生再構築メソッド」。40代・50代を過ぎて多くの人が感じる「このままでいいんかな?」「この先どうしたらいいかわからない」というモヤモヤを解消し、人生後半戦をアップデートさせる【新】戦略。

今すぐ無料で動画セミナー(80分)を見る ▶

TOP