虚方法

使用virtual标记父类为虚方法,

使用override让子类重写这个方法

using System;

namespace 多态
{
    class Program
    {
        static void Main(string[] args)
        {
            zhenDuck z = new zhenDuck();
            muDuck m = new muDuck();
            xpDuck x = new xpDuck();

            //把三种叫法,放到字符串数组中
            zhenDuck[] ducks = {z,m,x };
            for (int i = 0; i < ducks.Length; i++)
            {
                ducks[i].Duck();
            }
            Console.ReadKey();
        }
        
        public class zhenDuck//真鸭子作为父类
        {
            public virtual void Duck()//使用virtual标记父类为虚方法
            {
                Console.WriteLine("真鸭子嘎嘎叫");
            }
        }

        public class muDuck : zhenDuck
        {
            public override void Duck()//使用override子类重写这个方法
            {
                Console.WriteLine("木鸭子吱吱叫");
            }
        }

        public class xpDuck : zhenDuck
        {
            public override void Duck()
            {
                Console.WriteLine("橡皮鸭子唧唧叫");
            }
        }

    }

}

 

posted @ 2023-02-08 22:13  春哥博客  阅读(33)  评论(0)    收藏  举报