1. 主页
  2. 文档
  3. C#进阶
  4. 第一章 各种方法汇总
  5. 第二节 虚方法

第二节 虚方法

虚方法–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());
}
这篇文章对您有用吗? 1

我们要如何帮助您?