C# 接口Interface

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Class_override
{
   public  interface Ins
    {
        void fryable();
        baseC GetBasePtr();

    }
    public class baseC : Ins
    {
        public baseC GetBasePtr()
        {
            return this;
        }
        public virtual void fryable()
        {
            Console.WriteLine("fryable");
        }
        public  void Fun_NO_virtual()
        {
            Console.WriteLine("this is fun_no virtual");

        }
        public virtual void  Fun_withvirtual()
        {
            Console.WriteLine("Fun_withvirtual");
        }
    }    
       
  class zilei :baseC
    {
        public override void Fun_withvirtual()
        {
            Console.WriteLine("zilei Fun_withvirtual");
        }
        public override void fryable()
        {
            Console.WriteLine("zilei fryable");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
           
            Ins s = new zilei();
            s.fryable();
            Console.WriteLine(s.GetBasePtr().GetType().ToString());
            s.GetBasePtr().Fun_withvirtual();

            Console.ReadLine();
        }
    }
}


猜你喜欢

转载自blog.csdn.net/wuan584974722/article/details/79905643