問題タブ [access-modifiers]
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# - 抽象クラスのコンストラクターをパブリックではなく保護する必要があるのはなぜですか?
ReSharper は、クラスpublic
内のコンストラクターのアクセシビリティを に変更することを提案していますが、この背後にある理論的根拠は述べていません。abstract
protected
光を当てることができますか?
.net - .NET の「保護された」修飾子と「保護された内部」修飾子の違いは何ですか?
.NET の「保護された」修飾子と「保護された内部」修飾子の違いは何ですか?
binding - JavaFX 1: bind、および var アクセス修飾子
幅は機能するのに、高さは機能しないのはなぜですか? そして、これを修正するにはどうすればよいですか? Netbeans は次のように言っています。
高さには、javafx.scene.Scene でのスクリプトのみ (デフォルト) のバインド アクセス権があります。
c# - C#の「保護された」メソッド?
protected
C# のようにメソッドを定義する利点は何ですか?
お気に入り :
このようなものと比較すると:
多くの本でそのような例を見てきましたが、なぜ、いつprivate
vsを使用するのか理解できませんprotected
。
c# - プロパティを保護し、C#で内部的にするにはどうすればよいですか?
これが私の短縮された抽象クラスです:
派生クラスは次のとおりです。
Report.Headers
アイデアは、アセンブリ内のどこからでも呼び出せるようにしたいのですが、派生クラスによってのみ設定できるようにすることです。内部だけを作成しようとしHeaders
ましたが、保護は内部よりも制限的であるとは見なされません。ヘッダーを内部にし、そのセットアクセサーを保護して内部にする方法はありますか?
アクセス修飾子をひどく誤用しているような気がするので、デザインの助けをいただければ幸いです。
c# - C# プライベート、静的、および読み取り専用
log4net のコードを確認していたところ、これに遭遇しました。
なぜプライベートな静的読み取り専用が必要なのか疑問に思っています。
私の理解では、private は、アクセサー メソッドまたは get プロパティがない限り、変数をクラス外で使用できないことを意味します。
static は、変数がこのファイルのみにスコープされていることを意味します。
readonly は、値から読み取ることしかできず、割り当てることができないことを意味します。
だから、このコードを書いた人だと思っています。クラス外で使用したくないのでプライベートと宣言し、ファイル外で使用したくないので静的と宣言しました。ただし、get プロパティがある場合、static はこのフォームの発生を防ぎます。
私は読み取り専用を理解できると思います。値は読み取りのみで設定されません。
アドバイスありがとうございました。
java - クローンが別のオブジェクトにプライベートフィールドを設定できるのはなぜですか?
私はJavaを学んでおり、読んでいる本にはクローン作成に関する次の例があります。ではclone()
、バッファが。であっても、最初のインスタンスは新しいオブジェクトにバッファを設定できますprivate
。これが機能するためには、フィールドが必要なようですprotected
。
なぜこれが許可されるのですか?フィールドclone()
へのアクセスを許可する特別な特権がありますか?private
php - PHP でクラス外から保護されたメソッドを呼び出す
クラスの外部から保護されたメソッドを呼び出す必要がある非常に特殊なケースがあります。私はプログラミング的に何をするかについて非常に意識していますが、私が持っているこの1つの特別なケースでは、そうすることに完全に反対するつもりはありません. それ以外の場合はすべて、内部メソッドへのアクセスを引き続き禁止する必要があるため、メソッドを保護したままにします。
クラス外で保護されたメソッドにアクセスするエレガントな方法は何ですか? これまでのところ、私はこれを見つけました。
内部へのアクセスを密かに提供する、ターゲットクラスのある種の二重エージェントインスタンスを作成できる可能性があると思います...
c# - C#:実装のメソッドでインターフェイスを明示的に指定する
インターフェイスを実装するときに、メソッドをパブリックにする場合はインターフェイスを明示的に指定する必要はありませんが、プライベートにする場合は...そのようにする必要があります(GetQueryString
IBarのメソッドです)。
では、メソッドがプライベートになっているときにインターフェイスを明示的に指定する必要があるのに、メソッドがパブリックになっているときは指定しないのはなぜですか?
c# - .NET の保護されたクラス
クラスを .NET で保護できますか?
これが可能である/不可能である理由は何ですか?