問題タブ [multiple-inheritance]
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.
php - Zend Acl のリソース間で複数の継承を実装するにはどうすればよいですか?
簡単に言うと、Zend ACL がリソースではなくロール間の多重継承をサポートするのはなぜですか?
アクセス許可を付与できるようにしたいリソースの大きなツリーがあります。過去に、これを表現するために私が行ったことは、2 つの異なるツリーを作成することでした。最初のものには、ツリー内の各タイプの汎用リソースがあります。2 番目には、これらの型のすべてのインスタンスが同じ方法で配置されています。木を重ね合わせると、同じレベルに同じタイプのオブジェクトが見つかることを意味します。次に、各オブジェクト インスタンスは、追加の親として最初のツリーのジェネリック オブジェクトを持つように設定されます。これにより、すべてのタイプのオブジェクトにデフォルトのアクセス許可を設定できるため、各インスタンスはそれらを定義する代わりにそれらを継承しますが、それでも各インスタンスへの洗練された特定のアクセス権を与えてくれます。
例:
サイトには 3 つのモジュールがあります。ユーザーは、ユーザー プロファイルなどを格納する場所です。現在の問題について活発な議論が行われるフォーラム ユーザーがペットの写真をアップロードできるギャラリー
したがって、上記のジェネリック ツリーは次のようになります。
インスタンス ツリーは次のようになります。
また、ACL では、各ユーザー オブジェクト インスタンスが最初のツリーのユーザーから継承されます。したがって、デフォルトですべてを読み取り可能にしたいので、モジュールでの読み取りを許可します。すべてモジュールから継承しているので、すべて良いです。また、ユーザーが自分のプロファイルを編集できるようにしたいので、それぞれのプロファイルで各ユーザーに編集を許可します。ジェネリック ツリーはここでは役に立ちません。私のフォト ギャラリーが NSFW であるとしましょう。多重継承により、未登録ユーザーの写真の読み取りを 1 回の操作で拒否できます。多重継承がなければ、すべての写真を調べて、未登録ユーザーの読み取り権限を拒否する必要があります。写真がたくさんある場合、これは悪いニュースです。
これを行う方法を知っている人はいますか?私が考えることができる最も柔軟なソリューションを提供します。Zend_Acl を使用して実装できるより良いものを考えられる場合は、返信してください。
どうもありがとう。
multiple-inheritance - ミックスインとトレイト
Mixins と Traits の違いは何ですか?
ウィキペディアによると、Ruby モジュールは一種の特性です。どうして?
c#-3.0 - C#のインターフェイスでの拡張メソッドを使用した疑似多重継承?
インターフェイスと同じ名前空間の拡張メソッドを使用すると、10の異なるクラスで同じインターフェイスを同じ方法で実装する重複コードを用意する必要がないという点で、多重継承と同様の効果が得られると考えていました。
これを行うことの欠点は何ですか?私は長所はかなり明白だと思います、それは通常後であなたを噛むために戻ってくる短所です。
私が見ている短所の1つは、拡張メソッドを仮想化できないことです。そのため、すべてのインスタンスで同じ方法で拡張メソッドを実際に実装する必要があることを確認する必要があります。
c++ - これは有効な C++ コードですか?
次のコード ブロックが C++ で完全に有効かどうかを知りたかっただけです。
VS2008 を使用するとエラーなしでコンパイルされますが、GCC (MinGW) 3.4.5 では次のようなエラーが発生します。
仮想メソッドが実装されている行。これが一般的に無効と見なされ、C++ 標準ではコードが禁止されている (VS では、MS の標準化されていない魔法のおかげで機能する) のか、GCC のバグまたはサポートされていない言語機能のみなのか、興味がありました。
asp.net-mvc - ASP.NET MVC-FORMSルートプロジェクトにMVCサブプロジェクトを含めることは可能ですか?
私は他の人がこれを行うことができるかどうかを調べようとしています。次の質問と回答を見つけました(これは、フォームとMVCの混合に関するScott Hanselmansの投稿を参照しています)(ASP.NETMVCを通常のASP.NETWebフォームと一緒に使用できますか)。ただし、これはまったく同じではありません。
サーバー上で(rootprojectとして).NET FORMSプロジェクトを実行し、同時に(サブプロジェクトとして)同じサーバー上でMVCを実行することはできますか?空のデフォルトプロジェクトを試してみてください、それは機能しません:)
http:// server(またはhttp://www.server.com)--- FORMS PROJECT
http:// server / mvc(またはhttp://www.server.com/mvc)--- MVC PROJECT
c# - JavaまたはC#で多重継承が許可されていないのはなぜですか?
JavaとC#では多重継承が許可されていないことを知っています。多くの本は、多重継承は許可されていないと言っています。ただし、インターフェイスを使用して実装できます。なぜそれが許可されないのかについては何も議論されていません。なぜ許可されないのか正確に教えてもらえますか?
c++ - C++ の多重継承はどのように実装されていますか?
単一継承は実装が簡単です。たとえば、C では、継承は次のようにシミュレートできます。
ただし、多重継承では、コンパイラは新しく構築されたクラス内に複数の親を配置する必要があります。それはどのように行われますか?
私が見ている問題は、両親がABまたはBAに配置されるべきか、それとも他の方法で配置されるべきかということです. そして、キャストを行うと:
コンパイラは、元のポインターを変更するかどうかを検討する必要があります。バーチャルでも同様のトリッキーなことが必要です。
python - ページのメタデータを抽出することは、多重継承をうまく利用できますか?
モデルインスタンスが表示されるWebページに関係する「meta_keywords」や「slug」などのフィールドを両方に含むモデルがいくつかあるのか、それらのページのメタデータ要素を分割することが賢明かどうか疑問に思っていましたPageMeta などの独自のクラスに変換し、他のモデルに多重継承を介してそれらのサブクラスを持たせますか?
c++ - 多重継承階層
私は長い間、これを行うためのクリーンな方法を探しています。私の問題では、親を共有していないが、それぞれが同じ名前のメソッド(A.doSomething、B.doSomething、C.doSomething)を持つ3つのクラスが存在します。したがって、同じ関数シグネチャを持ち、Aから継承し、メソッドdoSomething()を使用するクラスDは、BまたはCから継承するEと「同じように見えます」。
これが私がやりたいことのスケッチです:
この問題では、タイプ「Independent」のオブジェクトが、変更できないライブラリによって提供されています。後で継承されるメソッドを使用する基本クラスを定義したいと思います。あいまいなコンパイルを行わずに、仮想継承を使用してこれを行う適切な方法を見つけることができませんでした。
database-design - この多重継承関係を RDBMS でモデル化する方法は?
私が思いついたこのデータモデルを見ていますが、快適ではありません。エンティティ名を変更したので、(うまくいけば)より意味がありました。いずれにせよ、以下をどのようにモデル化しますか?
私は3つのエンティティを持っています。政府顧客、個人顧客、公共顧客。プライベート カスタマーとパブリック カスタマーはどちらも CorporateCustomer です。企業および政府の顧客はアカウントです。すべてのアカウントは同じキー スペースを共有します (したがって、PrivateCustomer の PK が 1 の場合、Public または GovernmentCustomer の PK が 1 になることはありません)。CorporateCustomers には、GovernmentCustomer にはない 1:M の関係があります。PublicCustomers には、PrivateCustomers にはない 1:M の関係があります。
継承:
現在、私のモデルには 5 つのテーブルがあります。「アカウント」テーブルはこの階層のルートであり、各子テーブルの PK はその親の PK の FK です。したがって、すべてのテーブルの PK は同じです。
ええ、これをどのようにモデル化しますか?ここで何かが大きく間違っていないことを願っています:)。
編集:
また: - アプリではなく、DB が ref の整合性を処理するようにしたいと思います。- CorporateCustomer は、Private または Public のいずれかの顧客にならずに存在することはできません。その抽象。