問題タブ [concreteclass]

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

ios - Objective-Cの具象クラスと抽象クラスの違い

私は現在iOS開発を学んでおり、具象クラスと抽象クラスに出くわしました。これらのクラスの違いは何ですか。私はオンラインで検索しましたが、Objective-C 以外の言語で書かれています。

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

java - 抽象オブジェクトの合成パターン

抽象的なものの配列を持つ抽象クラスがあります。

それぞれが具体的なものの配列を持ついくつかの具体的なクラスがあります。

すべてが関連しています:

ここで必要な設計パターンは何ですか? 私は既にファクトリ メソッドを実行しています。このメソッドでは、Color サブクラスが適切な ColorThing を生成できる必要があります。ただし、サブクラスが実装する必要のない Color でこのメソッドを使用できるようにしたいとも考えています。

さらに、各サブクラスが独自のバージョンの配列として super.ColorThings[] をインスタンス化できるようにしたいと考えています。

Javaはこれを許可しますか? より良いものを再設計できますか?

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

c++ - インターフェイスから具象クラスの「this」ポインタにアクセスする

テストを書いた後this、インターフェイスのポインターが具象クラスのポインターと等しくないことがわかりましたthis。つまり、C スタイルのキャストをそのまま使用することはできません。

私のインターフェイスには、インターフェイス関連の登録と登録解除を処理するために、コンストラクターとデストラクタでそれを継承する具象クラスへの基本クラス ポインターが必要です。

インターフェイスを継承するすべての具体的なオブジェクトは、最初に抽象基本クラスを継承する必要があります。これは常にレイアウトの最初です。

コンストラクターについては、それほど難しいことではありません。インターフェイス コンストラクターにポインターを追加してthis、具象クラスから渡すことができます。しかし、デストラクタにはパラメータがないため、暗闇の中にいます。

これまでに思いついたソリューションにはオーバーヘッドが伴います。

1 - デストラクタで使用されるインターフェイスにポインタを格納します - 1 つのポインタに相当するメモリ オーバーヘッドを追加します

2 - インターフェイスに抽象メソッドを作成thisし、具象クラスに返すように実装します - 仮想呼び出しの間接的なオーバーヘッドを追加します

3 - dynamic_castさらに悪い

これを達成するためのより効率的な方法はありますか?

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

c++ - C++ 抽象/具象クラス宣言

MotorDefinition クラスと Motor という抽象クラスがあります。

私の Zumo 車には 2 つのモーターがあります。

残念ながら(私にとって)、これはコンパイルされません:

基本的な概念がいくつか欠けていると思いますし、確かにいくつかの構文を台無しにしています。これを正しく定義するのを手伝ってくれませんか。