問題タブ [getter-setter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
11 に答える
41210 参照

c++ - ゲッターとセッターをインラインにするのは良い習慣ですか?

Learn C ++で、彼らはそれがより速く実行されるだろうと言った。だから、ゲッターやセッターに使ってみたらいいなと思いました。しかし、多分、それにはいくつかの欠点がありますか?

0 投票する
5 に答える
4859 参照

oop - ゲッターとセッターの目的は?

重複の可能性:
パブリック データ メンバーとゲッター、セッター
クラスのプライベート メンバーの目的

変数を public にしてA.setVariableX(A.getVariableY()).

0 投票する
1 に答える
4270 参照

actionscript-3 - 継承されたゲッター/セッターのオーバーライド

Sprite を継承するクラス (Wall) があります。

スプライトにはすでに幅と高さのプロパティがあります。ただし、壁については、プロパティが変更されたときに他の追加の計算を行う必要があります (新しいサイズによって他の壁が重ならないように注意してください)。

では、Sprite クラスから継承された width プロパティを、Wall の width セッター内から設定するにはどうすればよいでしょうか? (または、幅が設定されるたびに境界チェックを行う別の方法があるのでしょうか?)

0 投票する
6 に答える
3866 参照

java - Java でのゲッター/セッターの生成 (再び)

書き方を検討中です

次に、クラスの get_aValue() および set_AValue() メソッドを自動的に生成します。

私はこれらの可能性を見つけました:

1a) コンパイル時。MyClass.java を個別に処理するためにアノテーション プロセッサを使用してから、新しい MyClass.java を作成し、最後にこの後者 (オリジナルを置き換えて) を残りの .java と共に使用します。

1b) コンパイル時。注釈プロセッサを使用して、元の MyClass のサブクラスである新しいクラス (get/set メソッドを使用) を含む MyClassGenerated.java ファイルを生成します。

2) 実行時。java.lang.instrument と外部ツール (BCEL など) を使用して、MyClass.class に新しいコードを織り込みます。

さて、質問は次のとおりです。サードパーティのライブラリ(ロンボクプロジェクトやBCELなど)を可能な限り使用したくないことを考慮して

a)他のアプローチがありませんか?

b) どのアプローチを使用しますか?

1a) を使用すると思います。

1b) クリーンではありません (プログラムの残りの部分では、元の MyClass の代わりに MyClassGeneradted を使用する必要がありますが、おそらく名前だけの問題です)

2) は本当に難しいです (少なくとも私にとっては)。

0 投票する
5 に答える
380 参照

java - Javaパブリック変数の質問

重複の可能性:
プロパティとカプセル化

NEWBアラート!!

私はAndroidとJavaから始めて、それを理解し始めていますが、なぜパブリック変数だけでなくゲッターとセッターを使用する必要があるのか​​疑問に思っています。

多くの人がプライベート変数を作成し、getおよびsetメソッドを作成しているのを目にします。

ここでのアイデアは何ですか?

0 投票する
1 に答える
3226 参照

doctrine - Relation フィールドの Doctrine Override ゲッターとセッター

Relation フィールドの Doctrine_Record ゲッターとセッターをオーバーライドする方法を知っている人はいますか? たとえば、クラスNoteがあり、Noteには多くのUsersがある場合、たとえば、この操作Note->Users[] = $user1をオーバーライドできますか?

ありがとう!

0 投票する
4 に答える
820 参照

oop - C++のゲッターとセッター

C ++でゲッターとセッターを使用する必要がありますか、それともクラスデータに直接アクセスする方が良いですか?

0 投票する
1 に答える
263 参照

objective-c - すべてのモデル iVar に対して 1 つのセッターを使用する

アプリケーション用の一連のモデルがあります。これらすべてのモデル全体で、約 200 または 300 のインスタンス変数があります (存在する予定です)。アプリケーションは永続的なデータを Web ベースのサーバー (MySQL - しかし、その部分は問題ではないと思います) に保存します。モデル iVar が更新されるたびに、サーバーを呼び出して、その iVar の適切な値を更新する必要があります。

私の現在のモデル戦略は(ヘッダーファイル)です:

(実装ファイル):

問題は、200 個または 300 個の iVar がある場合、サーバーへの同じ更新呼び出しをすべて実行する必要があるため、多くのセッターを作成することを意味します。さらに、メソッド呼び出しを変更する必要がある場合は、アプリケーション全体のすべてのセッターのすべてのメソッドをすべて更新する必要があります。

設定する前に、最初にメソッドを介して iVar のすべてのセットを実行できるプロセスはありますか?

NSMutableDictionaryすべての iVar を格納するためにモデルごとのオブジェクトだけを持つことを考えましたが、それはセッターとゲッターを抽象化し、非常に多くの辞書に大きなメモリ フットプリントを導入する可能性があります。ただし、このようにすると、辞書が設定されるたびに、1 つのメソッドを介して渡すことができます。

私が理解しているように、実行時にiVarをオブジェクトモデルに動的に追加することは、モデルに依存する可能性のあるサブクラスを参照するポインターのため、悪いことと見なされます(完全な再コンパイルが行われない限り、サブクラスポインターはオフセットされません)。

どんなアイデアや提案も大歓迎です。

アップデート

Ole の推奨に基づいて、ここに解決策があります (残念ながら、数行よりも少し多くのコードを使用します)...

モデルに、必要なときに設定できるメソッドを追加しました。サーバーから返された一連の結果を追加すると、追加されたすべてのオブジェクトのオブザーバーがトリガーされるため、init からメソッドを直接呼び出しませんでした。そのため、サーバーからの最初のグラブを初期化して更新したにメソッドを呼び出します。

これがコードです...

次に、オブザーバーをモデルに追加します。

self私の実際の実装では、リッスンする必要があるが注意を払っていないもの ( のようなもの) を更新できるように、 に設定されたオブジェクトの通知を投稿することもありNSArrayControllersます。

0 投票する
1 に答える
912 参照

objective-c - KVOがモデルセッターから起動されたときにobserveValueForKeypathが再帰的に再入力されないようにする

私には、変化を監視するモデルがたくさんあります。セッターがトリガーされると、モデル内のオブザーバーが呼び出され、そのモデル内でWebサーバーを呼び出して、Webサーバー内の情報を更新し、必要なデータが正しく含まれるようにします。

ただし、Webサーバーへの呼び出しで、接続の切断、サーバーのリセットなど、更新が許可されなかったというエラーをサーバーに返すことができます(たとえば、別のユーザーによって変更された他のパラメーターによって更新が妨げられた)。

切断されたデータストアの喜び...

selfKVOアクションを再トリガーせずに更新(つまりモデル)できる方法はありますか?

応答が返されたらオブザーバーをオフにすることもできますが、バックグラウンドサーバー要求の実行中に、同じオブジェクトに対する別のユーザーアクションが可能です。これにより、他の呼び出しが中断されます。

そもそも観測を行うために私がやろうとしていたことの説明と、完全なモデルのコード例については、こちらの投稿を参照してください。

私が電話をかけている部分は、次のようにオブザーバーになります。

あなたたちはいつもいくつかの良いアドバイスをやってきたようです、そして私はあなたが持っているかもしれないどんな提案にもいつも感謝しています。

0 投票する
1 に答える
563 参照

actionscript-3 - AS3 の get/set と値の再割り当て

値を再割り当てできる場合、値を取得/設定する目的は何ですか? プライベート変数を取得/設定できるからですか?