c# 06 虚方法

1.虚方法在父类中用关键字“virtual”修饰,在子类实现中用“override”修饰,子类调用父类的关键字是“base”和java中的super是一样的。

测试类

using System;

namespace Demo3
{
    class Program
    {
        static void Main(string[] args)
        {
            Grape g = new Grape();
            g.name();
        }
    }
}

基类

using System;
using System.Collections.Generic;
using System.Text;

namespace Demo3
{
    /// <summary>
    /// 藤类生长水果
    /// </summary>
    public abstract class Rattan
    {

        public virtual void name() {
            Console.WriteLine("我是基类虚方法");
        }
        
    }
}

子类

using System;
using System.Collections.Generic;
using System.Text;

namespace Demo3
{
    /// <summary>
    /// 葡萄类
    /// </summary>
    public class Grape : Rattan
    {
        public override void name()
        {
            base.name();//在子类中调用父类
            Console.WriteLine("我是子类重写了父类的虚方法,并在我的方法里调用了父类的方法");
        }
    }
}
原文地址:https://www.cnblogs.com/li-yan-long/p/14004374.html