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

13
@propertyとgetterおよびsetterの使用
以下は、純粋なPython固有の設計上の質問です。 class MyClass(object): ... def get_my_attr(self): ... def set_my_attr(self, value): ... そして class MyClass(object): ... @property def my_attr(self): ... @my_attr.setter def my_attr(self, value): ... Pythonでは、どちらの方法でもそれを行うことができます。Pythonプログラムを設計する場合、どのアプローチを使用しますか、それはなぜですか?


11
プロパティのゲッターとセッター
この単純なクラスでは、コンパイラの警告が表示されます x独自のセッター/ゲッター内で変更/アクセスを試みる そして私がこのようにそれを使うとき: var p: point = Point() p.x = 12 EXC_BAD_ACCESSを取得します。明示的なバッキングivarなしでこれを行うにはどうすればよいですか? class Point { var x: Int { set { x = newValue * 2 //Error } get { return x / 2 //Error } } // ... }

16
ゲッターのみのプロパティをオーバーライドしてセッターを追加できないのはなぜですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 この質問を改善する 次のC#コードが許可されないのはなぜですか。 public abstract class BaseClass { public abstract int Bar { get;} } public class ConcreteClass : BaseClass { public override int Bar { get { return 0; } set {} } } CS0546 'ConcreteClass.Bar.set': 'BaseClass.Bar'にオーバーライド可能なセットアクセサーがないため、オーバーライドできません

2
インターフェイスを使用する場合、プライベートセッターをどのように実装しますか?
いくつかのプロパティを持つインターフェースを作成しました。 インターフェイスが存在しない場合、クラスオブジェクトのすべてのプロパティは次のように設定されます。 { get; private set; } ただし、これはインターフェイスを使用している場合は許可されないため、これを実現できますか?

8
タイプではインスタンスメンバーを使用できません
私は次のクラスを持っています: class ReportView: NSView { var categoriesPerPage = [[Int]]() var numPages: Int = { return categoriesPerPage.count } } コンパイルは次のメッセージで失敗します: インスタンスメンバー 'categoriesPerPage'はタイプ 'ReportView'では使用できません これは何を意味するのでしょうか?

4
JavaScriptで動的ゲッター/セッターを実装することは可能ですか?
次のような方法で、名前がすでにわかっているプロパティのゲッターとセッターを作成する方法を知っています。 // A trivial example: function MyObject(val){ this.count = 0; this.value = val; } MyObject.prototype = { get value(){ return this.count < 2 ? "Go away" : this._value; }, set value(val){ this._value = val + (++this.count); } }; var a = new MyObject('foo'); alert(a.value); // --> "Go away" a.value = …

9
c#:ゲッター/セッター
私はどこかで次のようなものを見て、それが何を意味するのかと思っていました。私はそれらがゲッターとセッターであることを知っていますが、文字列Typeがこのように定義されている理由を知りたいです。私を助けてくれてありがとう。 public string Type { get; set; }
109 c#  getter-setter 

7
ActiveRecordモデルのゲッターメソッドを上書きするにはどうすればよいですか?
ActiveRecordモデルのゲッターメソッドを上書きしようとしています。nameモデルCategoryでと呼ばれる属性があり、次のようなことができるようにしたいと思います。 def name name_trans || name end name_trans属性がnilでない場合はそれを返し、そうでない場合は属性を返しnameます。どうすればいいですか? これは通常、次のように呼び出されます。 @category.name

9
Javaで注釈の値を読み取ることは可能ですか?
これは私のコードです: @Column(columnName="firstname") private String firstName; @Column(columnName="lastname") private String lastName; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } 別のクラスでアノテーション@Column(columnName = "xyz123")の値を読み取ることはできますか?

12
ゲッター、セッター、プロパティのベストプラクティス。JavaとC#
私は今C#クラスを取得しており、最善の方法を見つけようとしています。私はJavaの出身なので、Javaのベストプラクティスにのみ精通しています。私はC#初心者です! Javaでは、プライベートプロパティがある場合はこれを行います。 private String name; public void setName(String name) { this.name = name; } public String getName() { return this.name; } C#では、これを行うには多くの方法があることがわかります。 私はJavaのようにそれを行うことができます: private string name; public void setName(string name) { this.name = name; } public string getName() { return this.name; } または私はこのようにそれを行うことができます: private string name; public string Name { …

6
Kotlinのゲッターとセッター
たとえば、Javaでは、(IDEによって生成された)自分でゲッターを作成したり、ロンボクで@Getterのようなアノテーションを使用したりできます。これは非常に簡単でした。 ただし、Kotlinにはデフォルトでゲッターとセッターがあります。でも使い方がわかりません。 私はそれを作りたいと言いましょう-Javaに似ています: private val isEmpty: String get() = this.toString() //making this thing public rises an error: Getter visibility must be the same as property visibility. では、ゲッターはどのように機能しますか?


1
ゲッターから返された関数の `this`キーワードの値
次の例で、このキーワードの予期しない値が見つかりました。 let x = { z : 10 , get func1() { return function(v) { console.log(this === v); } } } x.func1(x) コードスニペットを実行する結果を非表示スニペットを展開 値は、このキーワードは、オブジェクトであるXそれは、そのオブジェクトから実行されますかのように私は期待して、get関数があるこのキーワードは呼び出し元のオブジェクトに等しいX この例は私たちに違いを示しています let x = { func2() { return function(v) { console.log(this === v); } } } x.func2()(x); コードスニペットを実行する結果を非表示スニペットを展開 どちらの例でも、getter関数であるfunc1とオブジェクトのメソッドであるfunc2がオブジェクトxから実行され、返された関数が実行されます。したがって、最初の例のこの値がオブジェクトxではなくグローバルオブジェクトと等しくないのはなぜですか。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.