問題タブ [private-methods]

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 投票する
34 に答える
413486 参照

javascript - JavaScript プライベート メソッド

public メソッドで JavaScript クラスを作成するには、次のようにします。

そうすれば、私のクラスのユーザーは次のことができます。

buy_foodanduse_restroomメソッドからは呼び出せるが、クラスのユーザーからは外部から呼び出せないプライベート メソッドを作成するにはどうすればよいですか?

つまり、メソッドの実装で次のことができるようにしたいと考えています。

しかし、これはうまくいかないはずです:

private_stuffこれらの両方が当てはまるように、プライベートメソッドとして定義するにはどうすればよいですか?

Doug Crockford の記事を数回読んだことがありますが、「プライベート」メソッドをパブリック メソッドから呼び出すことができ、「特権」メソッドを外部から呼び出すことができるようには見えません。

0 投票する
11 に答える
195006 参照

c# - リフレクションを使用してプライベート メソッドを呼び出すにはどうすればよいですか?

私のクラスにはプライベート メソッドのグループがあり、入力値に基づいて動的に呼び出す必要があります。呼び出しコードとターゲット メソッドの両方が同じインスタンスにあります。コードは次のようになります。

この場合、GetMethod()プライベート メソッドは返されません。プライベートメソッドを見つけるために何BindingFlagsを提供する必要がありますか?GetMethod()

0 投票する
10 に答える
91426 参照

ruby - Ruby のプライベート モジュール メソッド

2 つの質問があります

ベストプラクティス

  • パブリック インターフェイスを使用してデータ構造に対して何らかの操作を実行するアルゴリズムがあります。
  • 現在、これは多数の静的メソッドを持つモジュールであり、1 つのパブリック インターフェイス メソッドを除いてすべてプライベートです。
  • すべてのメソッド間で共有する必要があるインスタンス変数が 1 つあります。

これらは私が見ることができるオプションです。どれが最適ですか?:

  • 静的 (Ruby では「モジュール」) メソッドを持つモジュール
  • 静的メソッドを持つクラス
  • データ構造に含めるためのMixinモジュール
  • そのデータ構造を変更するアルゴリズムの部分 (非常に小さい) をリファクタリングし、アルゴリズム モジュールの静的メソッドを呼び出す mixin を作成します。

技術部

プライベート Module メソッドを作成する方法はありますか?

そこprivateには何の効果もないようですが、問題なく呼び出すことができますThing.priv

0 投票する
13 に答える
50187 参照

c# - プライベートメソッドの命名規則

ここで「」と呼んでいるプライベートメソッドに名前を付けるための規則はあり_Addますか?私は主要なアンダースコアのファンではありませんが、チームメートの1人が提案しているものです。

0 投票する
6 に答える
13545 参照

c# - C#でプライベートおよび静的プライベートメソッドに名前を付けるためのベストプラクティスは何ですか?

C# でプライベート メソッドとプライベート スタティック メソッドに名前を付ける最もスマートな方法を見つけようとしています。

背景: プライベート メンバーのベスト プラクティスは、アンダースコア プレフィックス + キャメルケースであることを知っています。これについて私に異論を唱えることもできますが、この規則に従うハードコアなプロのコードを十分に見たことがあると信じてください。これは熟練した業界標準です。

また、パスカル ケースがパブリック メソッドの業界標準であることも知っています。しかし、private および private static メソッドに対して、パスカル ケース、キャメルケース、およびアンダースコア プレフィックス + キャメルケースへのテスト スタイルの命名 (つまり、 method_must_return_false_occasionally ) の組み合わせを見てきました。

しかし、C# でのプライベートおよびプライベートな静的メソッドの命名のベスト プラクティス スタイルは何ですか?

一部のプライベートメソッドから使​​用され、他のメソッドでは使用されない特定のスタイルがある場合、それは理解できます。説明してください。

読んでくれてありがとう。

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

ruby-on-rails - エラー: プライベート メソッドを呼び出そうとしています

C スタイルの構文の長い歴史から来て、Ruby (on Rails) を学ぼうとしている私は、そのイディオムなどに問題を抱えていましたが、今日、問題があるとは思っていなかったものにぶつかりました。目の前にあるに違いないものが何なのか見えない。

パス値から URI 値を導出するプライベート メソッドを含む Binary クラスがあります (uri とパスはクラスの属性です)。self.get_uri_from_path()内から呼び出していますBinary.upload()が、次のようになります。

モデルのスニペットは次のようになります。

間違って電話をかけていますか? さらに基本的な何かが欠けていますか?から呼び出されている唯一の場所Binary.get_uri_from_path()は、現時点ではBinary.upload()です。Ruby が私が使用した他の言語と著しく異なることをしない限り、同じクラス内からプライベート メソッドを呼び出すことができると期待しています。

ありがとう。

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

perl - オブジェクト指向 Perl でプライベート メソッドまたは内部メソッドを定義するにはどうすればよいですか?

私は、Damian Conway の「インサイドアウト」オブジェクトを使用しています。彼の素晴らしい本Perl Best Practicesで説明されているように、クライアントでセキュリティ システムへのオブジェクト指向インターフェイスを構築しています。モジュール内で、通常は「_some_method」として指定する内部ヘルパー メソッドを使用する必要があります。ただし、パッケージ名を介して直接呼び出すことができるため、カプセル化が壊れているようです。これらのメソッドを本当にプライベートにする方法はありますか? 例として、

明らかに、_some_method の直接呼び出しを成功させたくありません。これを保証する方法はありますか?

0 投票する
10 に答える
83895 参照

java - Java でのプライベート メソッドのオーバーライド

hereで簡潔に説明されているように、Java でのプライベート メソッドのオーバーライドは無効です。これは、親クラスのプライベート メソッドが「自動的に最終的なものであり、派生クラスから隠されている」ためです。私の質問は主に学術的なものです。

親のプライベート メソッドを「オーバーライド」できない (つまり、子クラスで同じシグネチャを使用して個別に実装する) ことがカプセル化の違反にならないのはなぜですか? 親のプライベート メソッドは、カプセル化の原則に従って、子クラスからアクセスまたは継承することはできません。隠されています。

では、子クラスが同じ名前/署名を持つ独自のメソッドを実装することを制限する必要があるのはなぜでしょうか? これには良い理論的根拠がありますか、それともこれはある種の実用的な解決策にすぎませんか? 他の言語 (C++ または C#) には、これに関する異なるルールがありますか?

0 投票する
11 に答える
5376 参照

c# - C# プライベート メンバーの可視性

私たちのビジネスモデルには学生クラスがあります。ある学生を別の学生から操作している場合、学生のプライベートメンバーが表示されます。これはなぜですか?

これの設計上の考慮事項/意味について考えてもらえますか。兄弟から情報を隠すことはできないようです。フィールドまたはメンバーを同じクラスの他のインスタンスから非表示としてマークする方法はありますか?

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

ruby-on-rails - Railsコントローラーのプライベートメソッドの機能テスト

コントローラーにプライベート メソッドがあります。データベースの更新に使用されます。このメソッドは、別のコントローラー メソッドから呼び出しています。そしてそれはうまくいきます。

しかし、そのメソッドのテストケースを作成しようとすると、関数内の (セッション変数とパラメーター) にアクセスするとトリップします。他のすべてのメソッドは正常に動作していますが、問題はプライベートメソッドのみですか?

機能テストのセットアップ方法では、セッションも設定しています。