「純粋仮想」(abstract
:C#)の意味について質問した以前の質問を見ました。あなたがabstract
クラスをインスタンス化することはできません
理由は、それがおそらくなし実装で、abstract
メンバーを持っているということです。だからあなたのクラスは次のようになります言う:
abstract class Airplane_Abstract
{
public abstract int GetSomeInteger();
}
その後、あなたはこれらのいずれかをインスタンス化することができ、あなたがこのようなコードを書くことができ仮定:
var airplane = new Airplane_Abstract();
// What would this be?
int integer = airplane.GetSomeInteger();
は確かに、私はあなたが実際にがを持っていると信じていません抽象クラスに抽象メンバを持つこと。しかし、抽象クラスの一般的な考え方は、それ自体は存在できないものであるということです。それを継承するクラスでさらに定義する必要があります。抽象メンバは、なぜこれが最も重要なのかを示しています。他の理由があるかもしれません。
たとえば、Shape
と考えてください。これは、抽象クラスとして意味をなさせるもののかなり一般的な例です。 を実際にインスタンス化することはできません。はShape
ですか? ( "形状を作成する" "どのような形状ですか?" "いいえ、抽象的な形状だけです。"
あなたは正しく推測しました。 –
フレームワークのガイドラインフレームワークのガイドラインフレームワークのガイドラインフレームワークのガイドライン – Will
戻って抽象クラスについて少し読んだら、あなたは額を叩き、 "duh"に行くでしょう。 http://msdn.microsoft.com/en-us/library/sf985hc5(v=vs.71).aspx(最初の箇条書き点) –