問題タブ [access-specifier]
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++: Why does my DerivedClass's constructor not have access to the BaseClass's protected field?
I have a constructor attempting to initialize a field in a base class. The compiler complains. The field is protected, so derived classes should have access.
//The compiler error
DerivedClass.cpp:3: error: class ‘DerivedClass’ does not have any field named ‘m_data’</p>
Any help is greatly appreciated. Thank you in advance.
c++ - 名前マングリングでアクセス指定子を使用する C++ コンパイラはどれですか?
MSVC は知っていますが、GCC はそうではありません。他の人はどうですか?
ruby - private フィールドを public にする必要なしに equals メソッドを作成する
Ruby クラスを作成していて、== メソッドをオーバーライドしたいと考えています。私は次のようなことを言いたいです:
時間と頻度の両方を公開せずにこれを行うにはどうすればよいですか?
ファローアップ:
c# - C#で保護されたアクセス指定子と内部保護の違いは何ですか
protected
アクセス指定子とinternal protected
C#の違いは何ですか?
java - Javaのデフォルトのアクセス指定子は何ですか?
Java の本を読み始めたばかりで、疑問に思いました。何も指定されていない場合、デフォルトのアクセス指定子はどれですか?
ruby - Ruby にプライベート メソッドとプロテクト メソッドの両方があるのはなぜですか?
この記事を読む前は、Ruby のアクセス制御は次のように機能すると思っていました。
public
- 任意のオブジェクトからアクセスできます (例:Obj.new.public_method
)protected
- オブジェクト自体およびサブクラス内からのみアクセス可能private
- protected と同じですが、メソッドはサブクラスに存在しません
ただし、明示的なレシーバーを使用してメソッドを呼び出すことができない (つまり、機能するが機能しない)という事実を除いて、 と は同じように動作するようですprotected
。private
private
self.protected_method
self.private_method
これのポイントは何ですか?明示的なレシーバーでメソッドを呼び出したくないシナリオはいつですか?
ruby - アクセス制御を宣言する好ましいRuby主義の方法
これは簡単なスタイルの質問です。Rubyコードでアクセス制御を宣言するための好ましい手段は何ですか?
例 A:
または例 B:
構文的には、私は例 B が好きです。A は/メソッドのpublic
後に宣言されたメソッド間にあいまいさをもたらしますが、それを being と指定した後に単に呼び出してはならない理由はわかりません。protected
private
method1
public
しかし、これは私が好きなことではありません。これについて業界で定義されている基準は何ですか?
ruby - メソッドをプライベートとして動的に定義するにはどうすればよいですか?
これは機能していないようです:
c++ - C ++アクセス指定子、少なすぎますか?
私の知る限り、C ++には3つのアクセス指定子しかありません:private、public、protected
これらの3つのアクセス指定子を使用して、プロジェクト内のクラスではメソッドを使用できるが、「外国人」では使用できないようにするにはどうすればよいですか??(C#の内部およびパブリックなど)
c++ - コピー コンストラクターでプライベート変数にアクセスできるのはなぜですか?
クラス内の get 関数を使用する場合にのみ、プライベート変数にアクセスできないことを学びました。しかし、なぜコピーコンストラクターでアクセスできるのでしょうか?
例:
私の宣言: