問題タブ [abstract]

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

c# - 抽象メソッドは抽象メソッドをオーバーライドします

このコードはコンパイルエラーをスローします:「B」は継承された抽象メンバー「A.Process()」を実装していません。

これを行う方法はありますか?

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

python - この文脈で抽象とはどういう意味ですか?

Pythonの概念を理解するのに助けが必要です。

abstract現在、関数の一部でコードがハングしているのですが、h(...)どういうabstract意味かわからないので、何が問題なのかわかりません。

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

c++ - 仮想的に継承された関数を非仮想的に使用していますか?

ゲーム内の一部のクラスをシリアル化する機能を実装しようとして問題が発生しました。一部のデータを未加工のテキスト ファイルに保存しており、保存したり読み込んだりできるようにしたいと考えています。ただし、これの詳細は関係ありません。問題は、保存ファイルにとって興味深い各オブジェクトをシリアル化できるようにしようとしていることです。このために、operator<< と operator>> の純粋な仮想宣言を使用して、インターフェイス ISerializable を定義しました。

クラス階層はこんな感じ

これは、さまざまなクラスのオブジェクトをシリアライズする状況が数多く考えられることを意味します。たとえば、コンテナーは、含まれているすべてのアイテムに対して operator<< を呼び出す必要があります。

さて、operator>> は仮想であるため、ISerializable で定義された機能を実装するものをシリアル化したい場合は、次のようなことができると考えました。

その後

しかし、この最初の試みが違法であることがすぐにわかりました。私がここで尋ねているのは、これを回避するにはどうすればよいですか?

クラスごとに手動で関数を実装する気がしません。superJavaの機能のようなものを探していると思います。

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

--編集に関するコメント------------

さて、前回は質問を書いているときに急いでいました。コードは、コンパイルしようとしたときのようになりました。私は質問を修正しましたが、私が抱えていた問題は、尋ねられた質問とは無関係でした. コードの大規模なリファクタリングに起因するエラーと、演算子がすべての基本クラスに実装されていなかったという事実が原因であると言うのは恥ずかしいことです。

しかし、返信をありがとう!

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

c# - 抽象基本クラスとアプリケーション ドメイン

今後の説明が十分に意味をなさない場合は、申し訳ありません。私はそれで有名ですが、別のことをしようとしています。

ユーザー定義のプラグインを利用するサービスを作成しています。共有アセンブリで定義されたインターフェイスを利用して、アセンブリをサービスのappdomainから除外して、それらを分離しようとしています。

私を殺しているのは、抽象基本クラスの使用です。一部のインターフェースのすべての実装に共通する機能があるため、抽象基本クラスは理にかなっています。抽象ベースがサービス アセンブリにある場合、それをサブクラス化するプラグインはすべて、そのアセンブリをサービスの appdomain にドラッグします。ただし、サービスが使用する抽象ベース (内部セッターとパブリック ゲッターを持つプロパティ) には内部メンバーがあるため、それを可能にするには、サービスと同じアセンブリにある必要があります。

私が望んでいることは不可能のようですが、それは私が間違ったアプローチを取っているからだとも信じています. 私は必死に、この演習で良いパターンとプラクティスをより有効に活用し、その過程で学習しようとしています。

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

java - Java:抽象クラスコンストラクターとthis()

誰かが私が誤解していることを指摘できますか?

次のように、AbstractとConcreteの2つのクラスがあります。

これを実行すると、次の出力が得られます。

1)クラス=コンクリート; Abstractの引数なしコンストラクターが呼び出されました。
2)クラス=コンクリート; Abstractの1引数コンストラクターが呼び出されました。
3)クラス=コンクリート; と呼ばれるConcreteの1引数コンストラクター。

私の質問はこれです:AbstractのString argコンストラクターからthis()を呼び出すと、Concreteでこのno-argコンストラクターが呼び出されないのはなぜですか?または、おそらくもっと適切に、AbstractのString argコンストラクターにConcreteのno-argコンストラクターを呼び出して、コンストラクターの「適切な」チェーンを可能にする方法はありますか?

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

c# - 抽象プロパティはプライベート バッキング フィールドを作成しますか?

簡単な質問: 抽象プロパティはプライベート バッキング フィールドを作成しますか? 例:

これにより、プライベート バッキング フィールドが作成されますか? このプロパティを派生させるすべてのクラスが、コンパイラによって作成されたものではなく、独自のバッキング フィールドを使用するように強制したいと考えています。

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

c# - 継承クラスに C# で静的メソッドを実装させるにはどうすればよいですか?

私がしたいのは、クラスItemの子クラスが静的メソッドを実装していることを確認することだけであり、実行時エラーを回避するためにコンパイル時にこれをチェックしたいと考えています。

静的メソッドを持つ抽象クラスは機能していないようです:

エラー: 静的メンバーをオーバーライド、仮想、または抽象としてマークすることはできません

インターフェイスも機能していないようです:

エラー: 顧客はインターフェイス メンバー GetHistoricalItem() を実装していません

継承クラスが特定のシグネチャを持つ静的メソッドを実装しているかどうかをコンパイラにチェックさせるための回避策はありますか?

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

delphi - TJclCompressArchive.Compressを呼び出すときに「抽象エラー」が発生するのはなぜですか?

私は常に「抽象エラー」で失敗する次のコードを持っています:

ただし、圧縮しようとすると常にそのエラーが発生します。私がここで間違っていることについて何か考えはありますか?

0 投票する
7 に答える
93720 参照

java - JavaでGraphicsオブジェクトを初期化するにはどうすればよいですか?

これはコードです:

g1 が初期化されていないことを示しています。しかし、抽象クラスを初期化するにはどうすればよいでしょうか?

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

c - Cの不透明な(抽象)データ型

ファイルapi.h

ファイルcore.h

ファイルfunc.c

ファイルmain.c

コンパイルすると、次のようになります。

このエラーに含めるcore.hmain.c、tryがで定義されているため発生しませんcore.h。しかし、私は構造tryを隠したいのですmain.c—構造のメンバーを知っているべきではありませんtry。私は何が欠けていますか?