問題タブ [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.
c++ - 基本クラスの変数を使用する簡単な方法はありますか?
派生クラスがある場合、次以外のメソッドから変数を参照する簡単な方法はありますか?
編集
たまたま、代わりに関数を使用してこの問題を説明するページを見つけました:
Template-Derived-Classes Errors。テンプレートクラスを使用すると明らかに違いがあります。
vb.net - オーバーライドされた Child インスタンス呼び出し基底クラス メソッドから
次のコードを検討してください。
Dog のインスタンスを Animal に変換/ctype し、Animal.Speak を呼び出すにはどうすればよいですか?
php - 1 つのアプリの複数の特殊なバージョンを管理するためのベスト プラクティス
私は多くの顔を持つ Web アプリケーションを持っており、これまでテーマを作成することでこれを実装してきました。テーマは、共通のバックエンドで使用される html、css、およびイメージのセットです。
物事は次のようにレイアウトされています:
また、Web アプリケーションの各インスタンスには、使用するテーマを記述した構成ファイルがあります。例:
現在、新しいビジネス ルールにより、単に html/css/images を変更し、バックエンドを変更する必要があるだけでは達成できない特定のテーマを変更するよう求められています。場合によっては、これらの変更をテーマのグループに適用する必要があります。
これをディスクに最適に配置する方法と、コードで処理する方法を考えています。きっと他の誰かがこれに反対したに違いない。
1つのアイデアは次のとおりです。
次に、共通のコードで、最初に検索されるinclude_path
ものを設定し、次に.code/theme1
code/common
LogoutPage
次に、たとえば のクラスを特殊化したい場合は、ページを下の同じパスにtheme2
コピーするだけで、特殊化されたバージョンが取得されます。code/common
code/theme2
この考え方の問題点の 1 つは、同じ名前のクラスが複数存在することです。理論的には、それらが同じ実行に含まれることはありませんが、元の基本クラスを拡張することはできません。
では、基本クラスに一意の名前を付けたらどうなるでしょうか? 例えばTheme1LogoutPage extends LogoutPage
。私が予見できる問題の 1 つは、いくつかの一般的なコード (Dispatcher など) が を参照する場合LogoutPage
です。ディスパッチャーに条件を追加することはできますが、これを処理するためのより透過的な方法があるのだろうか?
私が考えることができる別のオプションは、テーマごとに別々のブランチを維持することですが、これは大変な作業になる可能性があると思います.
最後に考慮すべきことは、機能が 1 つのテーマに由来し、共通のコードベースにマージする必要がある場合があるということです。
任意の入力をいただければ幸いです。違いがあれば、それは LAMP 環境です。
c++ - C++ クラスの友人
私はそのようなコードをコンパイルしようとしています:
しかし、 get 'CCube::Position' は関数 main() で 3 回アクセスできません。クラスCPositionをCCubeの外で宣言して、将来CBallなどの新しいクラスで使用できるようにしたいのですが、継承を使用せずに機能させるにはどうすればよいですか。出来ますか :)?
よろしく、 PK
c++ - C++ で仮想継承よりも優れた方法を探している
OK、私は C++ でやや複雑なシステムを持っています。簡単に言えば、サード パーティの抽象基本クラスにメソッドを追加する必要があります。サードパーティは、新しい機能を必要とする大量の派生クラスも提供しています。
標準の Shape インターフェースといくつかの一般的な形状を提供するライブラリを使用しています。
さて、ここに私の問題があります。Shape クラスにも GetArea() 関数を含めたいと思います。だから私はただやるべきだと思う:
次に、ImprovedShape と Square を継承する ImprovementSquare を作成します。さて、ご覧のとおり、恐ろしいダイヤモンドの継承問題を作成しました。これは、サード パーティのライブラリが Square や Circle などに仮想継承を使用している場合、簡単に修正できます。しかし、それを実行させるのは合理的な選択肢ではありません。
では、ライブラリで定義されたインターフェイスにちょっとした機能を追加する必要がある場合はどうすればよいでしょうか? 良い答えはありますか?
ありがとう!
oracle - Oracle 10gR2でプロパティなしでTYPEを宣言する方法はありますか
メソッドのみを持つ基本オブジェクトを作成したいと考えています。オブジェクトはQUEUABLE_OBJECT_TYPE
あり、ENQUEUE
メソッドがあります。これらのメッセージ (プロパティ) のペイロードは、このオブジェクトをサブタイプ化することによって追加されます。
できないように聞こえるエラーが表示されます。
PLS-00589: オブジェクト型"QUEUABLE_OBJECT_TYPE"に属性が見つかりません
このエラーを回避する方法を知っている人はいますか? または、サブタイプでスーパータイプのこのプロパティを非表示にすることは可能ですか?
どちらでも受け入れられる答えです。
c# - クラスがデフォルトでシールされないのはなぜですか?
シールされたキーワードの存在は、他のクラスがそれを継承できるかどうかはクラス作成者の決定であることを示しているので、なぜクラスはデフォルトでシールされておらず、明示的に拡張可能であるとマークするキーワードを使用していないのでしょうか?
多少異なることは知っていますが、アクセス修飾子はこのように機能します。デフォルトは制限的で、より完全なアクセスはキーワードの挿入によってのみ許可されます。
よく考えていない可能性が高いですが、人道的にお願いします!
c# - AC#クラスが暗黙的および明示的に1つのインターフェイスから継承できるのはなぜですか?
今日、私は1つのC#クラスが暗黙的および明示的な方法の両方で1つのインターフェイスを継承できることに気付きました。これは私を驚かせます。C#がこのように機能する場合、1つのインスタンスは、異なる方法で参照されたときに異なる動作をする可能性があります。
上記のコードが実行され、出力されます
このC#の設計は、動作の不整合を引き起こすと思います。おそらく、1つのC#クラスが暗黙的または明示的な方法で1つのインターフェイスから継承できることが必須ですが、両方を継承することはできません。
C#がそのように設計されている理由はありますか?
c++ - 別のヘッダー ファイルのクラスからどのように継承しますか?
依存関係の問題があります。と の 2 つのクラスがGraphic
ありImage
ます。それぞれに独自の .cpp および .h ファイルがあります。私はそれらを次のように宣言しています:
Graphic.h
:
Image.h
:
コンパイルしようとすると、次のエラーが発生します。
Graphic
fromの前方宣言を削除するとImage.h
、次のエラーが発生します。