問題タブ [extending]

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

python - ImportError: [ライブラリ名].so: 未定義のシンボル: [関数名]

GStreamer の GstPhotography インターフェイスを使用する C モジュールで Python プログラムを拡張しています。私の C モジュールは正常にコンパイルされますが、Python から実行しようとすると、次のエラーが発生します。

my_c_module.cpp で gst_photography_get_type を使用したことがないため、これが何を意味するのかよくわかりません。これは、GstPhotography ソース コードに実装されている関数です。

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

javascript - JavaScript:拡張変数を含むオブジェクトインスタンスを取得する

だから、私が次のスクリプトを持っていたとしましょう:

基本的に、 999に設定されnew hey.init(999)た新しいhey変数を呼び出して取得できますhey.foo。しかし、そうすると、hey.init(999).check()は定義されなくなります。スクリプトを模倣する方法はありますが、新しいhey変数/関数を使用できるようにしますか?

編集:それについて申し訳ありませんに変更さhey.check()れましhey.init(999).check() た...

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

php - 別のクラスを拡張するPhpクラスの拡張

2つの異なる状況でプロセスを実装できるという要件があります。1つの状況は、開始日が過去になり得ない状況であり、もう1つの状況は、過去になり得る状況です。

現在、ZendValidateオブジェクトを使用して送信された各フィールドで一連の検証項目を実行するValueObjectsを利用しています。

検証は基本クラスを拡張します。

クラスValueObject_test1はfilter()を拡張します

フィルタは次のもので構成されています:-

ValueObject_test1は次のもので構成されています。

私が達成しようとしているのは、ValueObject_test1の拡張であり、2番目の状況では、ValueObject_test1()の項目だけでなく追加の検証項目も含まれるようになります。

私は私の2番目の状況のた​​めに以下を書きました:-

私が抱えている問題は、これからの出力が私の2番目の状況の検証を検証するだけで、2番目の状況の検証は何もしないように見えることです。_setData()で両方の変数を設定することにより、ValueObject_test1のアイテムとValueObject_test2のアイテムに対して検証が行われるべきだという印象を受けていますか?

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

c++ - C拡張モジュールのコンパイル中にPython.hがありません

C \C++コードでPythonを拡張する方法についてこのチュートリアルに従っています。

「GCCforMicrosoftWindowsを使用した拡張モジュールのビルド」という名前のセクションは、次のエラーで失敗します。

「MicrosoftVisualC++を使用した拡張モジュールの構築」という名前のセクションも、同様のエラーで失敗します。

これを解決するにはどうすればよいですか?

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

django - django プラグイン可能なアプリをどのように拡張しますか?

たとえば、django タグ付けアプリケーションを使用していて、既存のタグ付けフォームにフォーム クラスを追加するとします。更新時にフォームが吹き飛ばされるため、フォームを既存の forms.py にパッチしたくありません。forms.py を拡張してフォーム クラスを含めるにはどうすればよいですか?

クラスのみを含むforms.pyを使用して、アプリに「タグ付け」フォルダーを追加しようとしましたが、インストールされたアプリのフォームクラスが壊れます。(私はそれがロングショットだったことを知っています、私はそれを試してみると思いました).

フォーム クラスを既存のアプリケーションに追加するための情報をどこで探すべきかについて何か提案はありますか?

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

.net - Entity Framework 4、継承と拡張?

各方法の長所/短所は何ですか?

本またはこのサイトのどこかで、Entity Framework 4 でテーブルの継承を使用するのが不適切な理由を読んだことがあります。

たとえば、entityId、datecreated、datemodified を持つ 1 つのテーブルを作成し、エンティティ フレームワークで他のすべてのクラスにそれを継承させてみませんか? 次に、他のすべてのエンティティのテーブルにそれらの列を含める必要はありません。次に、人物クラスにその基本クラスを継承させ、次に特定の人物に人物を継承させることができます。

データベースを生成するための小さな SQL スクリプトを作成する以外に、これの利点についてはわかりません...

私が見る欠点は、SQLでデータを直接クエリ/表示することがお尻の大きな苦痛になることです(すべての関連情報は非常に多くのテーブルにまたがっています)。

ほとんどの経験の浅い開発者が継承を使用して問題にアプローチする場合、データベース データを変更して移行するよりも、アプリケーション コードを変更する方がはるかに簡単です。私も最初に開発を始めたときにそうしました。それは論理的に理にかなっています。しかし、長い間開発を続けると、委譲が本当に最善の方法であり (SOA の場合はサービスを呼び出すサービス)、単一目的のサービスは継承よりもはるかに多くの再利用を提供することがわかります。」

これは私にとっても理にかなっています。

そう

1) 一般に、継承と拡張の長所/短所は
何ですか? 2) 上記の私の具体的な例では、何がより適切でしょうか?
3) もし私の例がどちらか、または両方でつまらないものなら、継承と拡張を使用するための良い例は何ですか?

以前に両方を使用したことがありますが、慣れていないため、すべての状況をどのように処理すればよいかまだわかりません.

10 票、8 お気に入り、100 回以上の閲覧数で誰も拡大できませんか? =(.

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

python - CでPythonを拡張するには?

私は Python プログラミングが得意です。自分の C プログラムで Python を拡張しようとしています。いくつかのチュートリアルがありますが、私のオペレーティング システムはかなり不自由です。それは言う

python.h が見つかりません

また、OpenGLプログラミングを試しました。同様のエラーに直面しなければなりませんでした

GL/gl.h が見つかりません

私のLinuxにはないと思いますGL dev-library。しかし、適切なディレクトリで見つかったので、python.h がハード ドライブにあることは確かです。

私は使用していますPCLinux OS 2010 Dell Vostro 1510 with Intel 1.8GHz Q2duo
2Gb ram
gcc4.4.1

gccをインストールできなかったため、WindowsでSwigを使用できません。現在の OS では Swig が動作しません。自分でコードを書くと、この種のエラーが表示されます。(サンプルファイルなのでコードの整合性は確かです)

.so現在の OS で python を拡張するためのファイルをコンパイルする手順を教えてください。
または
、この種のプログラミングに最適な OS を教えてください。
または
、この作業のためにすべての機能を Windows にインストールする方法を教えてください。
または
、このような問題を解決できる IDE はありますか。

私を助けてください。私はこれをしようとしてかなり長い間頭を悩ませてきました。すべてが機能する理想的な機能のコンピューターを想定した理想化されたチュートリアルにはうんざりしています。ありがとうございました

私はプロのプログラマーではありません。しかし、私はいくつかのかなり興味深いことをしました。私は、ターボでのプログラミングc++.gccは私にとって少し新しいことを学びました。私の初心者の質問を検討してください。

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

generics - Scala、高度なジェネリック拡張

https://gist.github.com/319827を Scalaに書き換えようとしています。しかし、私はそれをコンパイルすることはできません。正しい構文は何ですか?

私はいつも得ているエラー:

クラス型が必要ですが、java.util.Comparator[_ >: java.lang.Comparable[java.lang.Object]] が見つかりました

ソース:

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

php - 共通の機能でクラスを拡張する

基本的に非常によく似た3つのクラスがあります。

  1. アップロードしたファイルの記録を保存します。
  2. ファイルを移動してアップロードします。
  3. レコードのステータスをアクティブまたは取り消しに設定します。

クラスの1つには、追加の更新メソッドがあります。一部のフィールドは共通ですが、一部のテーブルには余分なフィールドがいくつかあるため、各クラスはデータベース内の異なるテーブルを参照します。

かなり多くの機能が一般的であるため、多くの機能を複製するよりも、基本クラスを拡張する方がよいと思います。

私の唯一の喧嘩は、基本クラスの構築関数です。各テーブルの一部のフィールドは追加であるため、これにより基本クラスが妨げられるのではないかと心配しています。

抽象クラスを使用することを考えました。これにより、ほとんどのものを1つの場所に維持しながら、機能を拡張できるようになります。しかし、それは構成の問題です。構成のない抽象クラスを持つことはできますか?

何か案は?

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

ruby - メソッドの再定義でスーパークラスメソッドにアクセスする際の問題

「スーパー」を呼び出すことができる場合とできない場合を理解するのに少し苦労しています。以下の例では、スーパーメソッドはスーパークラスエラーなしになります。

しかし、これは機能します:

5はFixnumのインスタンスだけではありません。そして、私は上記のバクテリアの例のように既存の方法を再定義していませんか?