接口继承 测试

基类

    class Base :InfBase 
    {
        public virtual  void  GetName()
        {
            Console.WriteLine("dog");
        }
    }

接口基类

    interface InfBase
    {
        void GetName();
    }

接口继承

    interface Inf2 :InfBase 
    {
        void GetName(string s);
        void GetName();
    }

类继承

    class Class2 :Base ,Inf2 
    {
        public   void GetName(string s)
        {
            //base.GetName();
            Console.WriteLine(s);
        }

        public new void   GetName()
        {
            Console.WriteLine("horser");
        }
    }

注意方法2:使用NEW(override ) ,说明这里新建方法,覆盖了基类方法。如果不使用,提示如图

main主程序 

    class Program
    {
        static void Main(string[] args)
        {
            Class2 c2 = new Class2();
            c2.GetName();
            ((Inf2) c2).GetName("duck");
            // (Inf2) c2.GetName();
            Console.ReadLine();
        }
    }

结果:

原文地址:https://www.cnblogs.com/lhyqzx/p/6849208.html