質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

解決済

2回答

1355閲覧

dartの関数の書き方で「bool get 関数名」のgetの意味を教えてほしい。

cyber

総合スコア6

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2023/02/26 02:19

実現したいこと

dartの関数の書き方で「bool get 関数名」のgetの意味を教えてほしい。

具体的には、

bool get isAdAvailable {
return _appOpenAd != null;
}
で、返却値はbool型、関数名はisAdAvailableと理解できるのですが、getが何を意味しているのか分かりません。

この関数は、googleのadmobサイトに記載されているものになります。
https://developers.google.com/admob/flutter/app-open?hl=ja

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2023/02/26 02:38

「dart get」 などで当然検索していらっしゃるでしょうから、それで出てきたページのurlとどの記述がわからないのかを追記してください
otn

2023/02/26 03:02

先の質問もそうですが、基本文法を知らない状態でプログラムを読むのは無理では? どちらも入門書・入門サイトに載ってそうですが。
guest

回答2

0

ご回答ありがとうございます!
そんな記法があったのですね・・・
昔javaを勉強した際に、getterはメソッドで実装する記憶だったので、
そんな便利な記法が実装されてるとは・・・
勉強になりました!
また、質問の際に、どこまで調べたかも今後明記するようにします!

投稿2023/02/26 02:56

cyber

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

dartの関数の書き方で「bool get 関数名」のgetの意味を教えてほしい。

それは Getter と呼ばれるものです。
https://dart.dev/guides/language/language-tour#getters-and-setters

質問のコードの場合、get をつけることで、メソッドをメンバー変数であるかのように扱うことができます。

通常であれば(get がない場合は)

dart

1var available = myClass.isAvailable();

となりますが、get があることで

dart

1var available = myClass.isAvailable;

と書けます。


たとえば下記_name はプライベート変数ですが、値の取得だけは可能にさせたいとします。
その場合、通常のメソッドだと下記のような書き方になります。

dart

1class MyClass { 2 // _name はプライベート変数なので、通常外部からアクセスできない 3 String _name = 'John'; 4 // 取得用のメソッドを定義 5 String getName() { 6 return _name; 7 } 8} 9 10var obj = MyClass(); 11 12// メソッドを通じて、変数 _name にアクセス 13print(obj.getName()); // 出力: John 14 15// プライベート変数なので直接のアクセスは不可 16obj._name = 'Mike'; // エラー 17print(obj._name); // エラー

 
しかし、わざわざ1つ1つの変数に対して 「getなんたら」みたいなメソッド名を作ったり、呼び出すときに括弧が必要なのは面倒なので、下記のようにGetterを作ります。

dart

1class MyClass { 2 // _name はプライベート変数なので、通常外部からアクセスできない 3 String _name = 'John'; 4 // Getterを定義 5 String get name { 6 return _name; 7 } 8 /* 9 // returnが1行で済むなら、次のようにも書ける。こちらの方が一般的。 10 String get name => _name; 11 */ 12} 13 14var obj = MyClass(); 15 16// Getter を通じて、変数 _name にアクセス 17print(obj.name); // 出力: John

投稿2023/02/26 02:47

編集2023/02/26 02:52
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問