您的位置:首页 > 编程语言 > C#

C#虚方法的重写

2016-05-26 00:00 351 查看
摘要: 虚函数重写后的调用问题,自己也没谱,写个简单测试验证一下

情景:子类调用父类构造函数,父类构造函数调用虚函数,子类重写该虚方法。
结果:执行的是子类覆写的方法

输出结果: sonClass: son

using System;

namespace VirtualOverrideTest
{
public class FatherClass
{
public string Name
{
get { return Name; }
set { Name = value; }
}
public FatherClass(string name)
{
this.WriteName(name);
}
public virtual void WriteName(string name)
{
this.Name = name + "Father";
}
}
public class SonClass: FatherClass
{
public string Name = null;

public SonClass(string name): base(name)
{
}
public override void WriteName(string name)
{
this.Name += name + "son";
}
}
class Program
{
static void Main(string[] args)
{
SonClass son = new SonClass("sonClass: ");
Console.WriteLine(son.Name);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: