C#继承机制的疑惑
using System.Windows.Forms;
public class Test():form
{
public Test()
{
this.Text = "Test";
}
public static void Main()
{
...
}
}
我觉得“this.Text”为什么不写成“base.Text”,Text属性不是从from类继承来的吗,如果写成“this”的话,为什么在派生类中没有定义呢?请高手指教,谢谢!
问题点数:20、回复次数:4Top
1 楼dutguoyi(新鲜鱼排)回复于 2005-05-29 20:23:30 得分 5
this不是指向Test,派生类应该不会有吧。Top
2 楼Sunmast(速马@Redmond, WA)回复于 2005-05-29 20:31:59 得分 15
class A
{
string text = "A";
public virtual string Text
{
get{return text;}
}
}
class B : A
{
string text = "B";
public override string Text
{
get{return text;}
}
public void Test()
{
Console.WriteLine(this.Text); // B
Console.WriteLine(base.Text); // A
}
}
// test:
B b = new B();
b.Test();Top
3 楼Sunmast(速马@Redmond, WA)回复于 2005-05-29 20:33:00 得分 0
没有重载集类成员时,this指向的就是基类成员,和base指向的相同Top
4 楼everx(霹雳贝贝)回复于 2005-05-29 21:04:31 得分 0
谢谢了,我明白了Top




