問題タブ [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.
c++ - 新しいデータでのみスレッドのロックを解除する(スレッドは順序を呼び出す)
だから私は次のようなクラスを持っています:
ループで呼び出すSet
スレッドと、ループで呼び出す3つのスレッドがGet
あります。私は自分のスレッドをGet
1回だけデータの平和にする必要があります(つまりGet
、私たちほど速く呼び出すことはできずSet
、それは問題ありませんが、新しいものが呼び出されたときに2回以上呼び出すことはできませんSet
)。つまり、スレッドが呼び出された後、それはunteelにGet
アクセスできなくなります。そのようなものをそのような単純なクラスに実装する方法、または私のロックはデフォルトでそれを行いますか?Get
Set
java - ゲッターとセッターおよびコンテナーオブジェクト(ArrayList、HashMapなど)
ArrayList属性を持つドメインクラスがあるとします。このタイプのインスタンスのゲッターとセッターを作成するときのベストプラクティスは何ですか(変更されないようにするため)?
python - 副作用のあるゲッター
オブジェクトが一連のXMLコードで初期化されるクラスを作成します。このクラスには、そのXMLからさまざまなパラメーターを抽出し、それらをオブジェクト状態変数内にキャッシュする機能があります。これらのパラメータの潜在的な量は多く、おそらくユーザーはそれらのほとんどを必要としないでしょう。そのため、「遅延」初期化を実行することにしました。
次のテストケースでは、そのようなパラメータはtitle
です。ユーザーが初めてアクセスしようとすると、getter関数はXMLを解析し、状態変数を適切に初期化して、その値を返します。
これは見栄えがよく、私にとってはうまく機能します。ただし、getter関数は、オブジェクトに非常に重大な副作用があるという意味で、実際には「セッター」関数であるという事実に少し不安を感じています。これは正当な懸念ですか?もしそうなら、私はそれにどのように対処すべきですか?
iphone - ドット構文をゲッターとして使用するのは間違っていますか?
私はそれを知っています。セッターのショートカットです。時々、私はその種のコードを使用します:
これは期待どおりに機能しますが、私は疑問に思っていました。
または、言い換えると、ドット構文を=演算子でのみ使用する必要があります。
リンク/ドキュメントは大歓迎です、ありがとう:)
PS。タグが表示されていない場合は、ここでiOSについて話します。
oop - クラス内での getter-setter の使用
どのような状況でも、クラス内のクラスのゲッター/セッターを使用する必要がありますか?
javascript - Javascript でゲッター関数を取得する
JavaScript では、次の方法でゲッターとセッターを作成する可能性があります。
しかし、Getter または Setter FUNCTION を取得する方法はありますか? 私はこのようなことを考えています:
基本クラスを拡張するときに、このような機能が必要です。例: クラス "A" にはフィールド "a" があり、クラス "B" は "A" から拡張され、フィールド "a" も必要です。「B」オブジェクトの「a」フィールドから「A」オブジェクトの「a」フィールドに値を渡すには、オーバーライドする前にセッター/ゲッター関数を取得する必要があります。
java - Javaゲッターとセッターの問題
良い一日!
設定とゲームの2つのクラスを作成しました。私のゲームでは、最初に設定クラスにアクセスします。
私の設定クラスでは、Gameからsetterメソッドを呼び出し、.setDifficulty.
それに値を割り当てます(例== 2)。
次に、ゲームである2番目のCLassにアクセスします。しかし、setterメソッドの外でdifferfulLvlの値を取得することはできません。(コードに関する私のコメントを参照してください)
問題は、setterクラスの外部でdifferfulLvl値にアクセスできないことです...デフォルトの割り当て値(この場合は0)に戻ります。何が間違っているのでしょうか。setterメソッド内の値にアクセスするにはどうすればよいですか。使用this.difficultLvl
しましたが、結果がありません。私はJavaの初心者です...助けてください!あなたの助けをいただければ幸いです。ありがとうございました。
c# - C# のゲッター、セッターの宣言
次の方法でプロパティを定義することに違いはありますか -
私が知る限り、それは文体的な好みのようにしか見えません. 何か不足していますか?
php - getter setterのマジックメソッドのオーバーロードを使用せずに、C#のようにPHPで(プライベート)プロパティを取得および設定します
概要
コードサンプル:
まっすぐ進む。$name
それがPRIVATEクラスのメンバー(またはプロパティ、変数、フィールド、必要に応じて呼び出す)であると仮定します。PHPでこれらを行う方法はありますか?
およびを使用__get($name)
せずに__set($name, $value)
。
バックグラウンド
割り当てられたものを確認する必要があった$value
ため、次のようなゲッターセッターが必要です。
そして、必ずしもこのようにオーバーロードするゲッターセッターマジックメソッドではありません:
そうは言っても、私は単にゲッターセッターが必要です。しかし、それは私が望んでいることではありません。C ++やC#などの静的型付け言語の人々は、私と同じように感じるかもしれないので、オブジェクト指向のようには感じられません。
getter setterのマジックメソッドのオーバーロードを使用せずに、C#のようにPHPでプライベートプロパティを取得および設定する方法はありますか?
アップデート
なぜ魔法の方法ではないのですか?
マジックメソッドは明示的なゲッターセッターメソッドよりも10倍遅いという噂がウェブ上に浮かんでいます。私はまだテストしていませんが、覚えておくとよいでしょう。(それほど遅くはなく、2倍遅いことがわかりました。以下のベンチマーク結果を参照してください)
明示的なゲッターセッターのようにプロパティごとに異なる関数に分割するのではなく、マジックメソッドを使用する場合は、すべてを1つの巨大なメソッドに詰め込む必要があります。(この要件はircmaxellによって回答された可能性があります)
パフォーマンスオーバーヘッドベンチマーク
マジックメソッドと明示的なゲッターセッターを使用する間のパフォーマンスのオーバーヘッドに興味があるので、両方のメソッドに対して独自のベンチマークを作成しました。これを読んだ人に役立つことを願っています。
魔法のメソッドとmethod_existを使用する場合:
(コードを表示するには、ここをクリックしてください)
- ゲッターのコストは0.0004730224609375秒です。
- セッターのコストは0.00014305114746094秒です。
明示的なゲッターセッターを使用する場合:
(コードを表示するには、ここをクリックしてください)
- ゲッターのコストは0.00020718574523926秒です。
- セッターの費用は7.9870223999023E-5秒(0.00007xxx)です。
とは言うものの、魔法のメソッドとメソッドを備えたセッターとゲッターの両方が、明示的なゲッターセッターの2倍のコストで済みます。中小規模のシステムでも問題ないと思います。
java - Javaでクラスプロパティにパラメータを渡す
Visual Basic クラスにこのプロパティがあります。NET 2008 では、get と set に加えて、プロパティには「pParam.」というパラメーターがあります。
Javaコードでこれに相当するものはどれですか?
使用するには、次のことを行います。
私はJavaでこのコードを持っています
しかし、パラメータ「pParam」を入れる必要があります
前もって感謝します。