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

プロパティは、一部のオブジェクト指向プログラミング言語では、フィールド(またはデータメンバー)とメソッドの中間にある特別な種類のクラスメンバーです。プロパティはフィールドのように読み書きされますが、プロパティの読み書きは(通常)メソッド呼び出しを取得および設定するために変換されます。

11
パブリックフィールドと自動プロパティ
フィールドを外部に公開するのではなく、クラスフィールドのゲッターメソッドとセッターメソッド(C#のプロパティ)を作成してカプセル化を保護する必要があるとよく言われます。 しかし、フィールドが値を保持するためだけに存在し、取得または設定するための計算を必要としない場合がよくあります。これらについては、私たちはすべてこの数を行います: public class Book { private string _title; public string Title { get{ return _title; } set{ _title = value; } } } まあ、私は自白があります。私はそれをすべて書くことに耐えられなかったので(本当に、それを書く必要はなく、それを見る必要がありました)、私は不正に行き、パブリックフィールドを使用しました。 その後、C#3.0が追加され、自動プロパティが追加されたことがわかります。 public class Book { public string Title {get; set;} } どちらかと言うと整然としていますが、私は感謝していますが、実際には、パブリックフィールドを作成することと何が違うのでしょうか。 public class Book { public string Title; }


23
react-router-小道具をハンドラーコンポーネントに渡します
React Routerを使用したReact.jsアプリケーションには次の構造があります。 var Dashboard = require('./Dashboard'); var Comments = require('./Comments'); var Index = React.createClass({ render: function () { return ( <div> <header>Some header</header> <RouteHandler /> </div> ); } }); var routes = ( <Route path="/" handler={Index}> <Route path="comments" handler={Comments}/> <DefaultRoute handler={Dashboard}/> </Route> ); ReactRouter.run(routes, function (Handler) { React.render(<Handler/>, document.body); }); …

10
意味上の問題:プロパティの合成ゲッターは、「所有された」オブジェクトを返すためのCocoa命名規則に従います
現在、iOS 5 SDKを使用してアプリを開発しています。私はNSStringをプロパティにして、それを.mファイルに合成しようとしています(以前に問題なくこれを実行しました)。今、私はこれに遭遇しました:「セマンティックの問題:プロパティの合成ゲッターは、「所有された」オブジェクトを返すためのCocoa命名規則に従います。」 これは私のコードです:.h @interface ViewController : UIViewController { NSString *newTitle; } @property (strong, nonatomic) NSString *newTitle; .m @synthesize newTitle; 誰かが私がこれをどのように修正できるか手がかりを持っていますか?ありがとう!!

8
Kotlin-「lazy」と「lateinit」を使用したプロパティの初期化
Kotlinでは、コンストラクター内またはクラス本体の上部でクラスプロパティを初期化しない場合、基本的に次の2つのオプションがあります(言語参照から)。 遅延初期化 lazy()はラムダを取り、レイジープロパティを実装するためのデリゲートとして機能するLazyのインスタンスを返す関数です。最初のget()の呼び出しは、lazy()に渡されたラムダを実行し、結果を記憶します。 get()は単に記憶された結果を返します。 例 public class Hello { val myLazyString: String by lazy { "Hello" } } 最初の呼び出しとsubquential呼び出しがだから、それはどこにmyLazyString戻ります「こんにちは」 遅い初期化 通常、null以外の型として宣言されたプロパティは、コンストラクターで初期化する必要があります。ただし、これは不便なことがよくあります。たとえば、プロパティは、依存関係の注入、または単体テストのセットアップメソッドで初期化できます。この場合、コンストラクターでnull以外の初期化子を指定することはできませんが、クラスの本体内のプロパティを参照するときにnullチェックを回避する必要があります。 この場合に対処するには、lateinit修飾子を使用してプロパティをマークします。 public class MyTest { lateinit var subject: TestSubject @SetUp fun setup() { subject = TestSubject() } @Test fun test() { subject.method() } } 修飾子は、クラスの本体内で宣言された(プライマリコンストラクターではなく)varプロパティでのみ使用でき、プロパティにカスタムゲッターまたはセッターがない場合にのみ使用できます。プロパティのタイプはnull以外である必要があり、プリミティブタイプであってはなりません。 では、これらの2つのオプションはどちらも同じ問題を解決できるので、これらのオプションを正しく選択するにはどうすればよいでしょうか。
280 properties  kotlin 

12
オブジェクトプロパティに基づいて配列要素を削除する
私は次のようなオブジェクトの配列を持っています: var myArray = [ {field: 'id', operator: 'eq', value: id}, {field: 'cStatus', operator: 'eq', value: cStatus}, {field: 'money', operator: 'eq', value: money} ]; プロパティに基づいて特定のものを削除するにはどうすればよいですか? たとえば、フィールドプロパティとして「money」を含む配列オブジェクトをどのように削除しますか?


16
Visual Studioでプロパティを作成するショートカット?
C#で非常に高速にプロパティを作成する人を見たことがありますが、どうやってそれを実現したのですか? プロパティを作成するためにVisual Studio(現在Visual Studio 2010を使用)で利用できるショートカットは何ですか? C#を使用しています。 例えば、 public string myString {get;set;}

16
C#でプライベートプロパティを使用する理由はありますか?
C#のプロパティコンストラクトはプライベートアクセス修飾子でも使用できることを認識しました。 private string Password { get; set; } これは技術的に興味深いものですが、プライベートフィールドでは式典が少なくなるため、いつ使用するかは想像できません。 private string _password; 私が今まで内部でできるようにする必要があるだろうというとき、私は想像することはできません取得ではなく、設定やセットではなく、取得プライベートフィールド: private string Password { get; } または private string Password { set; } しかし、おそらく、ネストされたクラスまたは継承されたクラスの使用例があるか、またはプロパティの値を返すだけでなく、get / setにロジックが含まれている可能性があります。例えばGetEncodedPassword()。 誰かが何らかの理由でC#でプライベートプロパティを使用していますか、それとも、技術的には可能ですが実際にはほとんど使用されていない実際のコード構成の1つにすぎませんか? 補遺 それらを読んで、私は私有財産のこれらの使用法を選別しました: プライベートフィールドを遅延読み込みする必要がある場合 プライベートフィールドが追加のロジックを必要とする場合、または計算された値である場合 プライベートフィールドはデバッグが難しいため 「自分に契約を提示する」ため シリアル化の一部として公開されたプロパティを内部的に変換/簡略化する クラス内で使用されるグローバル変数をラップする

13
C#で参照によりプロパティを渡す
OverаэтотвопросестьответынаStack Overflowнарусском:Передачасвойствасметодсмодификаторомref out 私は次のことをやろうとしています: GetString( inputString, ref Client.WorkPhone) private void GetString(string inValue, ref string outValue) { if (!string.IsNullOrEmpty(inValue)) { outValue = inValue; } } これは私にコンパイルエラーを与えています。私が達成しようとしていることはかなり明確だと思います。基本的にGetString、入力文字列の内容をのWorkPhoneプロパティにコピーしますClient。 プロパティを参照で渡すことは可能ですか?

7
Entity Frameworkモデル定義のクラスプロパティに「仮想」を使用する理由
次のブログ:http : //weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx ブログには、次のコードサンプルが含まれています。 public class Dinner { public int DinnerID { get; set; } public string Title { get; set; } public DateTime EventDate { get; set; } public string Address { get; set; } public string HostedBy { get; set; } public virtual ICollection<RSVP> RSVPs { get; set; …
223 c#  class  properties  virtual 

17
Javaプロパティファイルの使用方法
Javaプロパティファイルとして保存し、後でロードして反復処理する構成値のキー/値ペアのリストがあります。 質問: ファイルをロードするクラスと同じパッケージにファイルを保存する必要がありますか、それとも配置する必要がある特定の場所がありますか? ファイルは特定の拡張子で終わる必要がありますか、それとも.txt問題ありませんか? コードでファイルをロードするにはどうすればよいですか そして、どうすれば内部の値を反復できますか?
219 java  properties 

12
Swiftクラスのエラー:プロパティがsuper.init呼び出しで初期化されていません
私には2つのクラスがShapeあり、Square class Shape { var numberOfSides = 0 var name: String init(name:String) { self.name = name } func simpleDescription() -> String { return "A shape with \(numberOfSides) sides." } } class Square: Shape { var sideLength: Double init(sideLength:Double, name:String) { super.init(name:name) // Error here self.sideLength = sideLength numberOfSides = 4 …

6
React.jsでコンポーネントのプロップを更新できますか?
React.jsでの作業を開始した後propsはstate、イベントに基づいて変更される一方で、静的である(親コンポーネントから渡される)ように意図されているようです。しかし、私はドキュメントでへの参照に気づきましたcomponentWillReceiveProps。これには特にこの例が含まれています。 componentWillReceiveProps: function(nextProps) { this.setState({ likesIncreasing: nextProps.likeCount > this.props.likeCount }); } これは、toとの比較に基づいてコンポーネントのプロパティを変更できることを意味しているnextPropsようthis.propsです。何が欠けていますか?小道具はどのように変更されますか、またはこれがどこで呼び出されるのか私は間違っていますか?

24
プロパティをクラスに動的に追加する方法は?
目標は、db結果セットのように動作するモッククラスを作成することです。 したがって、たとえば、データベースクエリがdict式を使用して返された場合{'ab':100, 'cd':200}、次のようにしたいと思います。 >>> dummy.ab 100 最初私は多分この方法でそれができると思った: ks = ['ab', 'cd'] vs = [12, 34] class C(dict): def __init__(self, ks, vs): for i, k in enumerate(ks): self[k] = vs[i] setattr(self, k, property(lambda x: vs[i], self.fn_readyonly)) def fn_readonly(self, v) raise "It is ready only" if __name__ == "__main__": c = C(ks, …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.