虚方法–Virtual
作用:允许子类/派生类,进行重写,也实现不一样的功能
特点:好维护。
/// <summary>
/// 虚方法测试
/// </summary>
class VirtualMethod
{
public virtual int Cal(int a, int b )
{
return a + b;
}
}
/// <summary>
/// 继承父类的虚方法
/// </summary>
class VirtualMeodChild: VirtualMethod
{
//重写就是改写父类的虚方法
public override int Cal(int a, int b)
{
// return base.Cal(a, b); //默认运行父类的加方法
return a * b;
}
}
class VirtualMeodthChildDiv : VirtualMethod
{
public override int Cal(int a, int b)
{
// return base.Cal(a, b);
return a / b;
}
}
在Main函数中添加调用代码
static void Main(string[] args)
{
//调用有虚方法的父类
VirtualMethod vm = new VirtualMethod();
int intSum = vm.Cal(3, 4);
Console.WriteLine($"3+4={intSum.ToString()}");
//调用重写过的子类
VirtualMeodChild vmC = new VirtualMeodChild();
int intSumC = vmC.Cal(3, 4);
Console.WriteLine($"3*4={intSumC.ToString()}");
VirtualMeodthChildDiv vmDiv = new VirtualMeodthChildDiv();
Console.WriteLine(vmDiv.Cal(4, 2).ToString());
}