問題タブ [accessor]
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# - C# の「読み取り専用」プロパティ アクセサー
私は次のクラスを持っています:
ユーザーがmMyListを取得できるようにしたいので、プロパティを介して「get」を公開しましたが、オブジェクト(つまり、MyList.Add(new Class());)に変更を加えて作成したくありません私のクラスに戻ります。
私はオブジェクトのコピーを返すことができると思いますが、それは遅いかもしれません.財産。
これは可能ですか?
java - 「アクセサメソッド」の定義は何ですか?
私は「アクセサ」という言葉の使い方について議論をしてきました (コンテキストは Java プログラミングです)。私は、アクセサーを暗黙のうちに「プロパティ アクセサー」と考える傾向があります。つまり、この用語は、多かれ少なかれ、オブジェクトの内部状態への直接アクセスを提供するために存在することを意味します。相手は、何らかの方法でオブジェクトの状態に触れるメソッドはすべてアクセサーであると主張します。
皆さんが私の主張に勝てないことはわかっていますが、この用語をどのように定義するのか知りたいです. :)
.net - カスタム コントロールの SkinID が機能しない (asp.net)
syste.web.ui.webcontrols.button からコントロールを取得しています。私はそれをbuttonv2と呼んでいます。次に、この新しいクラス「int abc」に任意のプロパティを追加し、その値をビューステートに格納する get/set アクセサーを介してアクセスします (ビューステート値が null の場合も 0 を返します。設定せずにアクセスします)。
ここで、'abc' に値を指定してからデバッグ モードで監視すると、アクセサの 'set' 部分に問題なくヒットし、指定した値 (つまり 55) が入力され、その後すぐにいくつかの値にヒットします。私のコード「if (abc >0){}」の一部で、ビューステートから値を 0 として取得します!
これは、asp.net の「スキン」を使用し、スキン ファイルに「abc」の値を事前設定している場合にのみ発生します。(つまり) スキンファイルの読み取り:<asp:buttonv2 runat="server" SkinID="bob" abc="55" />
そして、私のページで私が使用<asp:buttonv2 runat="server" SkinID="bob" />
していて、私の問題はabcが常に0に等しいですか?!
java - Java のゲッター/セッター
私は Java を初めて使用しますが、ActionScript 3 で OOP の経験があるため、知っているものに依存して移行しようとしています。
ActionScript 3 では、get キーワードと set キーワードを使用してゲッターとセッターを作成できます。つまり、クラスにメソッドを作成し、そのクラスのインスタンスのプロパティを介してデータにアクセスします。複雑に聞こえるかもしれませんが、そうではありません。次に例を示します。
そして、次name
のようにオブジェクトにアクセスします。
Javaでそれを行うにはどうすればよいですか?
public フィールドをいくつか持つだけでは問題ありません。メソッドの前に get と set を使用するという規則があることに気付きましたが、これで問題ありません。
例えば、
クラスのインスタンスからフィールドとしてプライベート フィールドにアクセスする場合のように、Java に ActionScript 3 ゲッター/セッターに相当するものはありますが、それをクラス内で内部的に実装するためのメソッドがありますか?
c# - 異なるセットとgetタイプのアクセサ?
簡単な質問、うまくいけば簡単な答え:
次のことをしたいのですが。
上記は私がやろうとしていることのほんの一例です。x型の内部変数へのパブリックアクセサーが欲しいのですが。その変数を文字列として取得したいのですが、x型のものを使用して設定します。
これは可能ですか?
- 編集 -
私はちょうど私が次のようなことをすることができることに気づきました:
しかし、次に、「get」型として「文字列」の代わりにタイプyを使用するとします。コード内のどこかで「DateTimeProperty」を使用したい場合は、それをキャストする必要があります。
c# - オーバーライドされたプロパティにセットアクセサーを追加できないのはなぜですか?
基本クラスでは、次のプロパティがあります。
それを上書きして別のテキストを返したいのですが、テキストも設定できるようにしたいので、次のようにしました。
ただし、これは機能しません。set
アクセサーが設定されていないため、オーバーライドできないという赤い波線が表示されます。なぜこの問題なのですか?私は何をすべきか?
language-agnostic - ゲッターとセッターに「get...」と「set...」と明示的に名前を付ける利点は何ですか?
これは他の誰かを怒らせますか?私はむしろ見たい:
と
よりも
まず、「set」と「get」は冗長です(したがって、読みやすさを低下させるノイズが追加されます)。アクション (set/get) は、各ステートメントの構文によって定義されます。過積載はわかります。実際、まったく同じ識別子を使用すると、これらがオブジェクトの同じプロパティであることが強化されます。「getKey()」と「setKey()」を読んだとき、よくわからないかもしれません。
第二に、「get」と「set」がセッターとゲッターとして厳密に解釈される場合、値の設定/取得に関連する他のセマンティック、たとえば副作用は驚くべきものになります。
この偏見は、私の Smalltalk のバックグラウンドによるものだと思いますが、ポリモーフィズムが問題なく機能する世界では、"get" と "set" がいたるところに散らばっていないほうがよいのではないでしょうか? これらの 3 文字を何度も入力する必要がなければ、どれだけ多くのコードを入力できるか考えてみてください! (頬に舌を少し入れる)
同じように感じている人はいますか?
objective-c - obj-cアクセサの使用とドット構文の使用の違いは何ですか?
私は iPhone の開発を始めて以来、クラスのメンバーとしてデータにアクセスするための最良の方法は何かについて、ちょっと混乱してきました。
MyClass というクラスがあり、その中に次のものがあるとします。
実装では、これを行う方が良いですか:
それともこれ?
これは、値の読み取りにも当てはまります。
対。