質問

この this/self/me ポインタ 必須 明?

による OOP 理論の方法は操作が主に(?) メンバ変数とメソッドの引数になります。その後、あるべきで 照会メンバ変数を外部からのオブジェクトの側の眺望)変数の...明示的な this することで、よりデフォルト値が設定される 硬い 照会メンバ変数により外部となる。このよう操作です。

役に立ちましたか?

解決

のほか、メンバ変数方法のパラメータものではありませんローカル変数.最も重要なこともない、オブジェクトがその内部の状態です。明示的なメンバ変数がdereferencingで非常に明確な場所を参照する状態、場所はどこを変更する。

例えば、いようなコード:

someMethod(some, parameters) {
    ... a segment of code
    foo = 42;
    ... another segment of code
}

時に迅速に閲覧するとともに、これを通じているメンタルモデルの変数定義の前のセグメントを知るだけならば臨時の変数も変更オブジェクトの状態.はこれです。foo=42であるオブジェクトの状態が変異した.が明示的にdereferencingは使用できるっていることをご確認ください変数は一時的に反対する。

短も織り込む方法でサービスに重要ですが、まだまだ、長期的には一つの事例trumps少しの利便性が書き込み中のコードです。

他のヒント

いう明確な self"という意味のPythonを参照してください 興味深い議論 成長を続けていきます。こちらの Guidoの対応ブルース-Eckelの記事.のコメントブルースの記事も勉強になるものもあって、とにかく).

すでにポインタースーパーコンピュータを用いた現在のオブジェクトまたは他の保護のための自己課題代入演算子です。

う場合には、引数のメソッドと同じ名前とアプリケーションはメンバ変数を?を利用することができ this.x = x ります。場所 this.x のメンバ変数が、 x の方法で引数に使います。その一群が自明な)例です。

私は一般的に使用(C++)の場合のみ皆様にお伝えしたくて書き込みの 代入演算子 または コピーコンストラクタ することを明確に特定の変数.その他の場所で使おうと思うかどうかは別にしている場合のパラメータを変数名と同じメンバ変数名いた殺私のオブジェクトを使用 削除すること.

例えばれる会員名として渡される方法

public void SetScreenTemplate(long screenTemplateID, string screenTemplateName, bool isDefault)
        {
            this.screenTemplateID = screenTemplateID;
            this.screenTemplateName = screenTemplateName;
            this.isDefault = isDefault;
        }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top