問題タブ [abc]

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 に答える
607 参照

python - wxPython、abc、およびメタクラス mixin を組み合わせるにはどうすればよいですか?

他のクラスが継承する基本クラスがあります。

基本クラスは を実装していません (実装できません) _PopulateToolbar()。抽象メソッドである必要があります。そのため、使用abcするのが良い計画だと考えたので、これを試しました:

当然のことながら、これを実行しようとするとTypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases. 私は「ああ、そうだ、ミックスインを使うだけだ」と思った:

変更なし: 同じTypeErrorメッセージです。ABCMetaここを使用すると、明らかな何かが欠けていると思います。これは wxPython 固有のエラーではないようです。私は何を間違っていますか?同じ問題にアプローチするより良い方法はありますか?

編集:同僚との会話で、メタクラスを混在させることはできないと指摘されました。wx.ToolBarどうやら から派生しているためsip.wrappertype、これを行う方法はないようです。ここで「抽象メソッド」アプローチを処理する別のまだ Pythonic な方法は何ですか?

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

python - Sphinxのドキュメントでメンバーに抽象として注釈を付ける方法は?

次の 2 つのプロパティ定義は、Sphinx autodocHTML 出力でまったく同じように表示されます。

Sphinx には、ある種の識別子で抽象メソッドに注釈を付ける方法がありますか? 私のドキュメントで、私の ABC のどのメンバーを実装する必要があるか、および必要なメンバーが定義された後に取得できる mixin 景品がどれかを明確にしたいと思います。

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

c++ - 抽象基本クラスが正しく返されない

私はまだ抽象基本クラスを完全には理解していません。これは私が割り当てのために作成したものであり、派生クラスを通じて追加されたものを何も返さないことを除いて、ほとんど機能しているようです。hasDMAまたはlacksDMAを選択するたびに、色またはスタイルから結果が返されません。

メイン.cpp

DMA.cpp

DMA.h

0 投票する
0 に答える
64 参照

python - 抽象基本クラスと実装を区別する

サブクラスの自己登録を提供するメタクラスを開発しているときに (このアイデアに多少似ています)、次の問題に遭遇しました。

抽象基本クラスまたはその実装のいずれかである可能性のあるクラスが与えられた場合、それがどちらであるかをどのように区別すればよいでしょうか?

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

python - セッターの継承、python抽象クラスのゲッターの上書き

すべてのサブクラスで使用される単一のメソッドを持つ基本クラスに属性があるとしますがsetter、すべてのサブクラスで異なるgetterメソッドを使用します。理想的には、setterメソッドのコードを基本クラスで 1 回だけ記述します。getterさらに、完全なメソッドがないため、基本クラスを抽象化する必要があります。これを行う方法はありますか?

素朴に、私はそれが次のようになるべきだと思います:

しかし、upper = uppercase()で失敗しCan't instantiate abstract class uppercase with abstract methods strます。

@abc.abstractpropertyin クラス_mystring@propertyに変更するとupper = uppercase()動作しますが、 も動作しupper = _mystring()ます。これは望ましくありません。

私は何が欠けていますか?

ありがとう!

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

python - Python collections.MappingView

私は非常に優れたコレクション ライブラリと、より具体的な抽象基本クラス (ABC) を調べていました。私が理解できなかったのは、MappingView です。

  • その用途は何ですか?Sized に対する利点は何ですか? おそらく例ですか?
  • ドキュメンテーションによると、その基本クラスは Sized ですが、一方でlen mixin があります...では、 len を実装する必要がありますか?

ドキュメントについては、コレクションを参照してください