問題タブ [protected]

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

java - Java の間接サブクラスからアクセスできないスーパークラスの保護されたメンバー

Java では、スーパークラスの保護されたメンバーが別のパッケージの間接サブクラスからアクセスできないのはなぜですか? 別のパッケージの直接のサブクラスがスーパークラスの保護されたメンバーにアクセスできることを知っています。どのサブクラスでも、継承された保護されたメンバーにアクセスできると思いました。

編集

初歩的なミスで申し訳ありませんが、サブクラスは間接的なスーパークラスの保護されたメンバーにアクセスできます。

0 投票する
5 に答える
386 参照

c# - 保護されているか内部であるか、何を選択しますか?

必要なメソッドを持つクラスがある場合protectedinternal。アセンブリ内の派生クラスのみがそれを呼び出すことができるようにしたいと思います。

protected internalを意味するprotected のでinternalあなたは選択をしなければなりません。この場合、何を選択しますか?protectedまたはinternal

0 投票する
2 に答える
1501 参照

c# - オブジェクト クラスの保護されたメソッド MemberWiseClone()

これはばかげた質問かもしれませんが、私にはわかりません:

カードというクラスがあります。MemberWiseClone() を使用して浅いクローンを作成したいと考えています。理論上、Card は Object から継承します。したがって、MWC() が保護されていても、MemberWiseClone() を使用できるはずです ??

何かが足りない/忘れていますか?

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

unit-testing - テスト駆動開発:プライベート/保護された変数のテストを作成する

私はTDDを学んでいますが、プライベート変数/保護変数について質問があります。私の質問は、テストしたい関数がプライベート変数で動作している場合、どのようにテストすればよいですか?

これが私が取り組んでいる例です:

2D配列であるTableというインスタンス変数を含むというクラスがあります。2D配列のすべての値に引数を掛けるinternalRepresentationという関数を作成したいと思います。multiplyValuesByNn

だから私はそれのテストを(Pythonで)書きます:

さて、私がinternalRepresentationプライベートまたは保護すると、このテストは機能しません。依存しないようにテストを作成するにはどうすればよいですか?internalRepresentationそれでも、呼び出した後に正しく見えるかどうかをテストしますmultiplyValuesByNか?

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

java - 別のパッケージにある場合、サブクラスがそのスーパークラスの保護された変数にアクセスできないのはなぜですか?

パッケージには抽象クラスがありrelation、パッケージdatabase.relationにはそのサブクラスがありJoinますdatabase.operationsrelation。という名前の保護されたメンバーがありmStructureます。

Join

オンライン

次のエラーが発生します。

フィールドRelation.mStructureは表示されません

両方のクラスを同じパッケージに入れると、これは完全に機能します。誰かがこの問題を説明できますか?

0 投票する
1 に答える
1997 参照

vb.net - VB.NET の視覚的継承: Friend VS Protected

一部のコンポーネント/コントロールが、アクセス修飾子 Friend で宣言されているのに対し、Protected で宣言されている場合、子フォームで視覚的に継承されないのはなぜですか。

たとえば、最初は「フレンド」だった親フォームに DataSet オブジェクトがあります (フォームにドラッグ アンド ドロップしたため、デザイナー ビューでコントロールとして表示されました)。期待どおりにコントロールを継承しませんでした。「保護」に変更すると、期待どおりに子フォームに表示されました。

Protected によって子フォームが継承されたコントロールを変更できることは承知していますが、これは上記の問題とどのように関連しているのでしょうか?

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

c++ - 属性を保護/非公開にするパフォーマンス上の理由はありますか?

inline私は学校で C++ を「学んだ」のですが、コンパイラが最適化できる場所や内容など、わからないことがいくつかありconstます。

パフォーマンスが重要な場合 (ゲーム プログラミングなど)、クラス属性publicprivate配置protectedすることで、コンパイラはより最適化されたコードを作成できなくなりますか?

以前の先生は、より「安全」または「望ましくない、または許可されていないクラスのアクセス/動作を防ぐ」と言っていたので、結局のところ、属性を not にpublicすると範囲が制限され、物事が固定されるのではないかと思います。

先生を批判するつもりはありませんが (そうすべきでしょう)、私が通っていたプログラミングのクラスはあまり進んでいませんでした...

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

java - java-基本クラスインスタンスを使用して派生クラスでアクセスされる保護されたメンバー

派生クラスに基本クラスのインスタンスを作成し、保護されたメンバーにアクセスしようとしました。

基本クラスをインスタンス化せずに、派生クラスの保護されたメンバーに直接アクセスできます。

基本クラス:

同じパッケージの派生クラス-

別のパッケージの派生クラス-

派生クラスも同じパッケージにあるが、派生クラスが別のパッケージにある場合は、基本クラスのインスタンスを使用して、派生クラスの保護されたメンバーにアクセスするにはどうすればよいですか?

保護されたメンバーを「静的」としてマークすると、別のパッケージにある派生クラスの基本クラスのインスタンスを使用して、基本クラスの保護されたメンバーにアクセスできます。

0 投票する
2 に答える
913 参照

php - 保護されたビデオをオンラインで公開する方法..

私たちの多くは、AnyVideo コンバーターまたは同様のソフトウェアを使用して YouTube 動画をダウンロードできることを認識しています。基本的なメカニズムは、ビデオをバッファリングするときに、一連の画像がクライアント マシンに送信されるというものです。これは、YouTube ビデオがフラッシュ形式であるためです。.f4v、4fp のどちらの形式かはわかりません。ビデオをダウロードできるため、.4FPではなく.f4vだと思います。

私の一部は、完全に保護されたビデオを作成することは不可能だと主張します. ビデオを見るたびに、ストリームがローカル マシンにダウンロードされるため、ストリームを読み取って mp4 またはその他の形式に変換するソフトウェアを使用すると、ビデオをコピーできるはずです。

私の別の部分は、技術的にはこれを回避できると言っています: 1 - 暗号化されたファイル形式を使用するビデオを持つ 2 - ビデオを表示するために暗号化されたファイル形式にアクセスするクライアント アプリケーションを作成する

しかしここでも、誰かが同じ暗号化クライアントを使用してソフトウェアを生成し、AnyVideo などと同じことを行うリスクがあります。

少なくともリスクは減るだろうけど…

解決策はありますか?限られた人だけがビデオをオンラインで利用できるようにする必要があり、他の人がビデオにアクセスするリスクを (理想的には) 排除したいと考えています。

どうもありがとう、

pengCC

ps: 関連する質問により、このHow to password protect streaming videos with php にリダイレクトされます

基本的に彼らのアプローチは、パスワードで保護された QuickTime ビデオを使用することです。AnyVideo やその他のソフトウェアでビデオをコピーできると思いますか?

0 投票する
1 に答える
536 参照

c# - 保護された内部プロパティ vs 保護されたプロパティと Resharper

Resharper を手に入れたばかりで、フィールドをプロパティに変換して遊んでいます。これらのプロパティを保護したいのですが、Resharper はそのオプションを提供してくれません。代わりに、Protected Internal オプションしかありません。これは私に考えさせます。プロパティは、単に「保護」するのではなく、常に「内部で保護」する必要があるというルールがどこかにあります。または、リシャーパーの使い方がわからないだけです。それはどれですか?

更新: Jetbrains 自身に連絡したところ、この動作がバグであると特定され、バグ レポートが提出されました。マークの答えは、「保護された内部」の使用に関して本質的に正しいので、彼はダニを取得します。