2013-02-27 5 views
11

私はC#で仮想メソッドについて読んだことがあります。 C#で仮想クラスと呼ばれる概念はありますか? C#の抽象クラスとC++の仮想クラスは同じですか?C#に仮想クラスがありますか?

ありがとうございます。

+3

C++の仮想クラスとはどういう意味ですか?あなたは仮想的な内在性または純粋な仮想機能を持つクラスを意味しますか? – shf301

答えて

16

C#ではこのようなことはありません。複数の実装継承がサポートされていないため、実際には必要ありません。クラス抽象化を実際に行うとは、そのクラスのインスタンスを作成できず、完全に実装されていない可能性があります(抽象メソッドを含むなど)。

6

C#には仮想クラスはありません。抽象クラスは、抽象クラスをインスタンス化できないため、同じではありません。

何かをバーチャルにマーキングするのと反対に、sealedというマーキングを付けて、それが継承されないようにすることができます。

3

私はこの先にSO記事へのリンクが見解を示すものだろう:C#は多重継承を持っていないので、複数の継承を制限し、「仮想基底クラス」を持つ必要がありませんが、言及している他の人のようIn C++ what is a virtual base class?

これはC#には当てはまりません。 C#のメンバーだけが仮想になります。

関連する問題