最初の基本クラスコンストラクターが呼び出され、続いて派生クラスコンストラクターが呼び出されます。結果は2です。そのクラス変数のアクセシビリティを明示的に指定する必要があります。保護されていますか、プライベートですか、パブリックですか?
公開に変更したようですので、2になります。
このリンクは、コンストラクター、それらがどのように使用されるか、いつ呼び出されるか、および継承を使用するときのコンストラクター呼び出しの順序を理解するのにさらに役立ちます。
http://www.yoda.arachsys.com/csharp/constructors.html
また、実際にこれを自分で試してみることもできます。コードを練習して記述し、それを読むだけで、より多くのことを学ぶことができます。
Barを宣言し、その値を出力してみてください。いくつかのプロパティを使用します。
class Foo
{
public int abc;
public Foo()
{
abc = 3;
}
public int ABC
{
get { return abc; }
set { abc = value; }
}
}
class Bar : Foo
{
public Bar() : base()
{
abc = 2;
}
}
class Program
{
static void Main(string[] args)
{
Bar b = new Bar();
Console.WriteLine(b.ABC);
Console.ReadLine();
}
}
簡単なプリントアウトで、探している結果が得られます。出力は次のとおりです。
あなたは私の愛だけではありませんnamespace
:-)。ちなみに、自動プロパティを使用して、プロパティが単にpublic int ABC{get;set;}になるようにすることもできます。