サブクラス定義時にbaseで親クラス属性を参照する注意点
796 ワード
class Person
{
string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
class Sub_Person : Person
{
string a = base.Name; // base.Name
string b = this.Name;
public void SayHello()
{
Console.WriteLine(" , {0}",base.Name);
Console.WriteLine(" , {0}", this.Name);
}
}
ベースクラス・アクセスは、コンストラクション関数、インスタンス・メソッド、またはインスタンス・プロパティ・アクセサでのみ実行できます.
インスタンス化後にのみ、親関連属性とメソッドの継承が形成され、自身のメンバーの定義部分では、親の継承は形成されていません.
参照:http://msdn.microsoft.com/zh-cn/library/hfw7t1ce.aspx