public class Father
{
// static string TYPE = "FATHER";
public Father()
{
//Console.WriteLine("ctor");
}
public virtual void Print()
{
Console.WriteLine("I'm father");
}
}
public class Son:Father
{
public override void Print()
{
base.Print();
Console.WriteLine("I'm son");
}
}
正如我们知道的那样,如果我们调用Son.Print(),它将打印出“我是父亲”和“我是儿子”。而Father.Print()是一个实例方法,我们需要创建首先是一个实例。那就是问题,谁创造了它?显然,不是我...... 或者Son在方法表中拥有两个打印方法。其中一个可以被父访问,anthor可以自己访问吗? 哪一个是对的?或者两者都不对?请告诉我!谢谢!
答案 0 :(得分:4)
谁创造了它?显然不是我
是什么让你这么肯定?你当然可以:
Son s = new Son();
或
Son
在方法表中拥有两个
不,它只有一个Print
方法,但它还有其他内容:它知道它的基类Father
,它有自己的Print
方法。这就是为什么Son
可以访问两个Print
s - 它自己和Father
的原因。