問題タブ [abstract-methods]

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

python - Pythonでメソッドの実装を要求するにはどうすればよいですか?

Pythonでダックタイピングを使用しています。

さまざまなオブジェクトがとして渡されるobject_to_flag場合、そのすべてに、、is_active属性があります。彼らはまた、方法を持っています。is_spamis_offensivecleanup()

渡すオブジェクトはすべて同じ基本クラスを持っています(Google App Engineのdbオブジェクトです)。

cleanup()メソッドを抽象化して、子が実装を提供する必要があるこれらすべてのオブジェクトに対して同じ親クラスを持つことができるよう にするにはどうすればよいですか?

おそらくもっと重要なのは、これは「pythonic」ですか?このルートに行くべきですか、それともダックタイピングだけに頼るべきですか?私のバックグラウンドはJavaで、Pythonのやり方を学ぼうとしています。

ありがとう!

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

c# - WCFの抽象メソッドサーバー側を維持する方法

すべてのドメインオブジェクトにGetHashCodeを実装するように強制しています。

これらのドメインオブジェクトをWCFを介して公開する場合、次の生成されたサービスをコンパイルするには、更新後の変更が必要です。

GetHashCodeの要件を維持する方法についてのアイデアはありますが、クライアント上のコードの要件を(更新または部分的なクラスとして)削除しますか?

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

c# - 共通および派生した複合機能を提供するための抽象/仮想メンバー - C#

私は以前にこれをやったことがあります-トリックを思い出せません。

抽象クラスがある場合:

パブリック抽象クラス

そして派生クラスのセット:

公開授業 写真:ポスト

派生クラスにValidate()というメソッドを強制的に実装させたいのですが、同時にPostレベルでコア検証を提供したいと考えています。

メソッドを作成できます: public abstract void Validate() in Post 、これにより、派生クラスにメソッドの実装が強制されますが、 Post (ベース) 検証を実行するにはどうすればよいですか?

最終結果は、私はこれを行うことができるようにしたいです:

どうすればできますか?

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

python - このPythonシナリオで抽象メソッドを使用する必要がありますか?

私のアプローチが良いデザインかどうかはわかりませんが、ヒントを得られることを望んでいます。私は抽象的なメソッドの線に沿ってどこかを考えていますが、この場合、メソッドをオプションにしたいです。これが私が今やっている方法です...

上記の例では、PyMEL for Mayaで2つの円弧を作成していますが、createDriversメソッドがある場合とない場合があるサブクラスをさらに作成するつもりです。だから私はそれをオプションにしたいのですが、私のアプローチが改善できるかどうか疑問に思っています。

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

java - JAXB 2.x:抽象メソッドは属性としてマーシャリングされます

私は抽象ルートクラスを持っています、としましょうA

そして、私はを拡張するいくつかの実装クラスを持っていますA

AFIELD注釈といくつかの@XmlElement注釈付きプロパティがあります。

A抽象メソッドもあります。

マーシャリング(B extends A)の場合、abstractメソッドによって返される値は属性としてマーシャリングされます。期待通りではありませんよね?

誰かが同じ問題を抱えていますか?これをどのように修正できますか?

org.eclipse.persistence.moxy2.1.2を使用しています

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

c# - 継承されたクラスの抽象メソッド シグネチャの変更

抽象基本クラスとして Engine というクラスがあるとします。そこから派生した ElectrictEngine および FuelEngine クラスもあります。

エンジンに燃料を補給する方法を作りたい。基本クラス レベルで抽象メソッドとして実行し、fillUpEnergy などの一般的な方法で名前を付ける必要がありますか?

問題は、電気エンジンを使用している場合、メソッドが受け取るパラメーターの数が、燃料エンジンに渡す必要があるパラメーターの数と異なることです。したがって、メソッドのシグネチャは異なります。

さらに、両方のエンジンに汎用メソッドを使用するが、より具体的な名前でラップするスマートな方法はありますか? 例: 燃料エンジンの場合は「refuel」、電気エンジンの場合は「chargeBattery」? 同時に、一般的なメソッドをユーザーから隠しますか?

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

c# - 抽象メソッドの使用と通常のメソッド

2つの規則の違いを知りたいのですが:

  1. 後で派生クラスに実装される抽象メソッドを使用して抽象基本クラスを作成します。
  2. 抽象メソッドを使用せずに抽象基本クラスを作成し
    ますが、派生クラスのレベルで関連するメソッドを後で追加します。

違いはなんですか?

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

java - 抽象クラスのメソッドが抽象かどうかを知る必要があるのはなぜですか

質問されました。それは次のとおりです。

抽象クラスの API ドキュメントは、メソッドが抽象かどうかを示します。いつ、なぜこれを知る必要がありますか?

どんな助けでも大歓迎です。

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

c# - 抽象メソッドを使用する場合のこのパターンを説明してください

多くの場所で使用されている次のパターンを見てきました。

実際の違いがわかりません。なぜ次のように書かれていないのでしょうか。


更新:上記のスニペットNinjectは、インターフェイスが指定されていない場所のドキュメントから取得しましたが、実際のソースを見ると、サブコールの必要性を説明し、私の質問に答えるSimpleProvider<T>インターフェイスを実装していることがわかります。IProvider

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

python - モジュール内のクラスが正しいインターフェースを実装しているかどうかを確認する

私は次のインターフェースを持っています:

すべて同じディレクトリにあるモジュールのコレクションがあります。各モジュールには、私のインターフェースを実装する単一のクラスが含まれています。

たとえば、 Launch.py​​ :

20 個のクラスを実装する 20 個のモジュールがあるとします。一部のクラスがインターフェイスを実装していないかどうかをチェックするモジュールを起動できるようにしたいと考えています。

私は使用しなければならないことを知っています:

  • issubclass(Launch, ProcessInterface) を使用して、特定のクラスがプロセス インターフェイスを実装しているかどうかを確認します。
  • 私のモジュールにあるクラスを取得するためのイントロスペクション。
  • 実行時にモジュールをインポートする

どうすればいいのかわかりません。モジュール内で issubclass を使用することができます。しかし、モジュールの外にいる場合は issubclass を使用できません。

する必要がある :

  1. ディレクトリ内のすべてのモジュールのリストを取得します
  2. 各モジュールでクラスを取得する
  3. 各クラスで issubclass を実行します

それを行うことができる関数のドラフトが必要です。