http://msdn.microsoft.com/ja-jp/library/ms182126.aspx
public abstract class Class1
{
public Class1() {}
}
これをVS2008でコンパイルしてもエラーにはならない。
「抽象クラスの目的は、複数の派生クラスで共有できる基本クラスの共通の定義を提供すること」と書かれている。
.NET Frameworkクラスライブラリでは、抽象クラスのコンストラクタは、protectedで宣言されている。
したがって、次のようなコードでルールかした方がいい。
public abstract class Class1
{
protected Class1() {}
}
もちろん、コンストラクタの内部は空にすること。
抽象クラスだから、もちろんインスタンス化はできない。
なお、コンストラクタは、抽象クラスのコンストラクタも実行される。
0 件のコメント:
コメントを投稿