タグ付けされた質問 「getter」

ゲッターは、オブジェクト指向プログラミングで使用されるパブリックアクセサーメソッドであり、クラスのプライベートメンバーに関連付けられた値を返します。

30
ゲッターとセッター/アクセサーを使用する理由
単にそれらの変数にパブリックフィールドを使用する代わりに、取得と設定のみを行うゲッターとセッターを使用する利点は何ですか? getterとsetterが単純なget / setだけではない場合、これをすぐに理解できますが、その方法は100%明確ではありません。 public String foo; より悪い: private String foo; public void setFoo(String foo) { this.foo = foo; } public String getFoo() { return foo; } 一方、前者は必要なコードが大幅に少なくなります。
1543 java  oop  setter  getter  abstraction 

17
ビューのgetWidth()およびgetHeight()は0を返します
私のAndroidプロジェクトのすべての要素を動的に作成しています。ボタンの幅と高さを取得して、ボタンを回転できるようにしています。私は、Android言語での作業方法を学ぼうとしています。ただし、0を返します。 調査を行ったところ、onCreate()メソッド以外の場所で行う必要があることがわかりました。誰かが私にそれを行う方法の例を教えてくれるなら、それは素晴らしいことです。 これが私の現在のコードです: package com.animation; import android.app.Activity; import android.os.Bundle; import android.view.animation.Animation; import android.view.animation.LinearInterpolator; import android.view.animation.RotateAnimation; import android.widget.Button; import android.widget.LinearLayout; public class AnimateScreen extends Activity { //Called when the activity is first created. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout ll = new LinearLayout(this); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); …

9
JSFがゲッターを複数回呼び出す理由
次のようにoutputTextコンポーネントを指定するとします。 <h:outputText value="#{ManagedBean.someProperty}"/> のゲッターsomePropertyが呼び出されたときにログメッセージを出力してページをロードすると、ゲッターがリクエストごとに複数回呼び出されていることに気付くのは簡単です(私の場合は2回または3回発生したことです)。 DEBUG 2010-01-18 23:31:40,104 (ManagedBean.java:13) - Getting some property DEBUG 2010-01-18 23:31:40,104 (ManagedBean.java:13) - Getting some property の値のsomeProperty計算にコストがかかる場合、これが問題になる可能性があります。 私は少しグーグルで調べて、これは既知の問題であると考えました。回避策の1つは、チェックを含め、それがすでに計算されているかどうかを確認することでした。 private String someProperty; public String getSomeProperty() { if (this.someProperty == null) { this.someProperty = this.calculatePropertyValue(); } return this.someProperty; } これの主な問題は、不要なプライベート変数は言うまでもなく、大量のボイラープレートコードを取得することです。 このアプローチの代替手段は何ですか?それほど多くの不要なコードなしでこれを達成する方法はありますか?JSFがこのように動作しないようにする方法はありますか? ご協力ありがとうございます。
256 performance  jsf  el  getter 


9
良いか悪いか?ゲッターでのオブジェクトの初期化
奇妙な癖があるようです...少なくとも同僚によると。私たちは小さなプロジェクトに一緒に取り組んできました。私がクラスを書いた方法は(簡単な例)です: [Serializable()] public class Foo { public Foo() { } private Bar _bar; public Bar Bar { get { if (_bar == null) _bar = new Bar(); return _bar; } set { _bar = value; } } } したがって、基本的に、ゲッターが呼び出され、フィールドがまだnullの場合にのみ、フィールドを初期化します。これは、どこでも使用されていないプロパティを初期化しないことにより、過負荷を軽減すると考えました。 ETA:私がこれを行った理由は、私のクラスに別のクラスのインスタンスを返すいくつかのプロパティがあり、さらにそれがさらに多くのクラスを持つプロパティを持つということです。最上位クラスのコンストラクターを呼び出すと、これらすべてのクラスが常に必要であるとは限らない場合、これらすべてのクラスのすべてのコンストラクターが呼び出されます。 個人的な好み以外に、この慣行に反対することはありますか? 更新:私はこの質問に関して多くの異なる意見を検討しました、そして私は私の受け入れられた答えを待ちます。しかし、今ではコンセプトの理解が深まり、いつ使用するか、いつ使用しないかを決めることができます。 短所: スレッドセーフティの問題 渡された値がnullの場合、「setter」リクエストに従わない マイクロ最適化 例外処理はコンストラクターで行う必要があります クラスのコードでnullをチェックする必要があります 長所: マイクロ最適化 …
167 c#  coding-style  getter 

3
異なるゲッタースタイル間のC#の違い
ゲッターのプロパティに略語が見られることがあります。たとえば、これらの2つのタイプ: public int Number { get; } = 0 public int Number => 0; 両者に違いがあるかどうか教えてください。彼らはどのように行動しますか?どちらも読み取り専用ですか?

12
ダミーのゲッター\セッター
私はゲッターとセッターの周りに頭を近づけようとしましたが、沈みません。JavaScriptのゲッターとセッター、およびゲッターとセッターの定義を読んだだけで、理解できません。 誰かが明確に述べることができます: ゲッターとセッターが何をするためのものか、そして 非常に簡単な例を挙げてください。

4
リフレクションによってゲッターを呼び出す最良の方法
特定のアノテーションを使用してフィールドの値を取得する必要があるため、リフレクションを使用してこのフィールドオブジェクトを取得できます。問題は、このフィールドは常にプライベートであることですが、事前に常にゲッターメソッドがあることがわかっています。setAccesible(true)を使用してその値(PermissionManagerがない場合)を取得できることはわかっていますが、そのgetterメソッドを呼び出すことを好みます。 「get + fieldName」を検索することでメソッドを検索できることはわかっています(たとえば、ブールフィールドは「is + fieldName」と呼ばれることもあります)。 このゲッターを呼び出すより良い方法があるかどうか疑問に思います(多くのフレームワークはゲッター/セッターを使用して属性にアクセスするため、別の方法で行う可能性があります)。 ありがとう
127 java  reflection  getter 

14
シンプルなゲッター/セッターコメント
ゲッターとセッターにコメントするためにどの規則を使用していますか?これは私がかなり長い間疑問に思っていたものです。例えば: /** * (1a) what do you put here? * @param salary (1b) what do you put here? */ public void setSalary(float salary); /* * (2a) what do you put here? * @return (2b) */ public float getSalary(); 1a / bと2a / bでまったく同じものを書いていることにいつも気づきます。1a)従業員の給与を設定します。1b)従業員の給与を設定します。それはとても冗長なようです。今私はあなたがコンテキストを与えるためにあなたが(a)の部分でより多く書くかもしれないもっと複雑な何かを見ることができました、しかしそこにいるゲッター/セッターの大部分にとって言葉遣いはほとんど正確に同じです。 単純なゲッター/セッターについて、(a)部分または(b)部分のいずれかのみを入力してもよいかどうか、私は興味があります。 どう思いますか?



4
ECMAScript 6クラスのゲッターとセッターは何ですか?
ECMAScript 6クラスのゲッターとセッターのポイントが何なのか混乱しています。目的は何ですか?以下は私が言及している例です: class Employee { constructor(name) { this._name = name; } doWork() { return `${this._name} is working`; } get name() { return this._name.toUpperCase(); } set name(newName){ if(newName){ this._name = newName; } } }

3
.hファイルと.mファイルの@interface定義の違い
通常は使用します @interface interface_name : parent_class <delegates> { ...... } @end .hファイルと.mファイルのメソッドは、.hファイルで宣言された変数のプロパティを合成します。 ただし、一部のコードでは、この@interface ..... @endメソッドは.mファイルにも保持されます。どういう意味ですか?それらの違いは何ですか? また、.mファイルで定義されているインターフェイスファイルのゲッターとセッターについても説明します。 前もって感謝します

3
ロンボクゲッター/セッターvs Java 14レコード
私はLombokプロジェクトが大好きですが、最近はJava 14の新機能のいくつかを読んで試しています。 新しい機能には、コンストラクター、プライベート最終フィールド、アクセサー、equals / hashCode、getters、toStringメソッドなどの機能がすでに組み込まれているクラスを作成できるようにするrecordキーワードがあります。 今私の質問です:ロンボクの機能に依存する方が良いですか、それともレコード機能を使い始めるべきですか: これを使用する方が良いです: record Person (String name, String surname) {} またはその: @AllArgsConstructor @ToString @EqualsAndHashCode public class GetterSetterExample { @Getter private int name; @Getter private int surname; } 両方のアプローチの長所と短所は何ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.