問題タブ [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 投票する
2 に答える
90 参照

c++ - 新しいデータでのみスレッドのロックを解除する(スレッドは順序を呼び出す)

だから私は次のようなクラスを持っています:

ループで呼び出すSetスレッドと、ループで呼び出す3つのスレッドがGetあります。私は自分のスレッドをGet1回だけデータの平和にする必要があります(つまりGet、私たちほど速く呼び出すことはできずSet、それは問題ありませんが、新しいものが呼び出されたときに2回以上呼び出すことはできませんSet)。つまり、スレッドが呼び出された後、それはunteelにGetアクセスできなくなります。そのようなものをそのような単純なクラスに実装する方法、または私のロックはデフォルトでそれを行いますか?GetSet

0 投票する
8 に答える
3954 参照

java - ゲッターとセッターおよびコンテナーオブジェクト(ArrayList、HashMapなど)

ArrayList属性を持つドメインクラスがあるとします。このタイプのインスタンスのゲッターとセッターを作成するときのベストプラクティスは何ですか(変更されないようにするため)?

0 投票する
3 に答える
1502 参照

python - 副作用のあるゲッター

オブジェクトが一連のXMLコードで初期化されるクラスを作成します。このクラスには、そのXMLからさまざまなパラメーターを抽出し、それらをオブジェクト状態変数内にキャッシュする機能があります。これらのパラメータの潜在的な量は多く、おそらくユーザーはそれらのほとんどを必要としないでしょう。そのため、「遅延」初期化を実行することにしました。

次のテストケースでは、そのようなパラメータはtitleです。ユーザーが初めてアクセスしようとすると、getter関数はXMLを解析し、状態変数を適切に初期化して、その値を返します。

これは見栄えがよく、私にとってはうまく機能します。ただし、getter関数は、オブジェクトに非常に重大な副作用があるという意味で、実際には「セッター」関数であるという事実に少し不安を感じています。これは正当な懸念ですか?もしそうなら、私はそれにどのように対処すべきですか?

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

iphone - ドット構文をゲッターとして使用するのは間違っていますか?

私はそれを知っています。セッターのショートカットです。時々、私はその種のコードを使用します:

これは期待どおりに機能しますが、私は疑問に思っていました。

または、言い換えると、ドット構文を=演算子でのみ使用する必要があります。

リンク/ドキュメントは大歓迎です、ありがとう:)

PS。タグが表示されていない場合は、ここでiOSについて話します。

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

oop - クラス内での getter-setter の使用

どのような状況でも、クラス内のクラスのゲッター/セッターを使用する必要がありますか?

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

javascript - Javascript でゲッター関数を取得する

JavaScript では、次の方法でゲッターとセッターを作成する可能性があります。

しかし、Getter または Setter FUNCTION を取得する方法はありますか? 私はこのようなことを考えています:

基本クラスを拡張するときに、このような機能が必要です。例: クラス "A" にはフィールド "a" があり、クラス "B" は "A" から拡張され、フィールド "a" も必要です。「B」オブジェクトの「a」フィールドから「A」オブジェクトの「a」フィールドに値を渡すには、オーバーライドする前にセッター/ゲッター関数を取得する必要があります。

0 投票する
7 に答える
3717 参照

java - Javaゲッターとセッターの問題

良い一日!

設定とゲームの2つのクラスを作成しました。私のゲームでは、最初に設定クラスにアクセスします。

私の設定クラスでは、Gameからsetterメソッドを呼び出し、.setDifficulty.それに値を割り当てます(例== 2)。

次に、ゲームである2番目のCLassにアクセスします。しかし、setterメソッドの外でdifferfulLvlの値を取得することはできません。(コードに関する私のコメントを参照してください)

問題は、setterクラスの外部でdifferfulLvl値にアクセスできないことです...デフォルトの割り当て値(この場合は0)に戻ります。何が間違っているのでしょうか。setterメソッド内の値にアクセスするにはどうすればよいですか。使用this.difficultLvlしましたが、結果がありません。私はJavaの初心者です...助けてください!あなたの助けをいただければ幸いです。ありがとうございました。

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

c# - C# のゲッター、セッターの宣言

重複の可能性:
ゲッターとセッターを使用する理由
C# 3.0 自動プロパティ - 役に立つかどうか?

次の方法でプロパティを定義することに違いはありますか -

私が知る限り、それは文体的な好みのようにしか見えません. 何か不足していますか?

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

php - getter setterのマジックメソッドのオーバーロードを使用せずに、C#のようにPHPで(プライベート)プロパティを取得および設定します

概要

コードサンプル:

まっすぐ進む。$nameそれがPRIVATEクラスのメンバー(またはプロパティ、変数、フィールド、必要に応じて呼び出す)であると仮定します。PHPでこれらを行う方法はありますか?

およびを使用__get($name)せずに__set($name, $value)


バックグラウンド

割り当てられたものを確認する必要があった$valueため、次のようなゲッターセッターが必要です。

そして、必ずしもこのようにオーバーロードするゲッターセッターマジックメソッドではありません:

そうは言っても、私は単にゲッターセッターが必要です。しかし、それは私が望んでいることではありません。C ++やC#などの静的型付け言語の人々は、私と同じように感じるかもしれないので、オブジェクト指向のようには感じられません。

getter setterのマジックメソッドのオーバーロードを使用せずに、C#のようにPHPでプライベートプロパティを取得および設定する方法はありますか?


アップデート

なぜ魔法の方法ではないのですか?

  1. マジックメソッドは明示的なゲッターセッターメソッドよりも10倍遅いという噂がウェブ上に浮かんでいます。私はまだテストしていませんが、覚えておくとよいでしょう。(それほど遅くはなく、2倍遅いことがわかりました。以下のベンチマーク結果を参照してください)

  2. 明示的なゲッターセッターのようにプロパティごとに異なる関数に分割するのではなく、マジックメソッドを使用する場合は、すべてを1つの巨大なメソッドに詰め込む必要があります。(この要件はircmaxellによって回答された可能性があります)

パフォーマンスオーバーヘッドベンチマーク

マジックメソッドと明示的なゲッターセッターを使用する間のパフォーマンスのオーバーヘッドに興味があるので、両方のメソッドに対して独自のベンチマークを作成しました。これを読んだ人に役立つことを願っています。

魔法のメソッドとmethod_existを使用する場合:

(コードを表示するには、ここをクリックしてください)

  • ゲッターのコストは0.0004730224609375秒です。
  • セッターのコストは0.00014305114746094秒です。

明示的なゲッターセッターを使用する場合:

(コードを表示するには、ここをクリックしてください)

  • ゲッターのコストは0.00020718574523926秒です。
  • セッターの費用は7.9870223999023E-5秒(0.00007xxx)です。

とは言うものの、魔法のメソッドとメソッドを備えたセッターとゲッターの両方が、明示的なゲッターセッターの2倍のコストで済みます。中小規模のシステムでも問題ないと思います。

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

java - Javaでクラスプロパティにパラメータを渡す

Visual Basic クラスにこのプロパティがあります。NET 2008 では、get と set に加えて、プロパティには「pParam.」というパラメーターがあります。

Javaコードでこれに相当するものはどれですか?

使用するには、次のことを行います。

私はJavaでこのコードを持っています

しかし、パラメータ「pParam」を入れる必要があります

前もって感謝します。