zoukankan      html  css  js  c++  java
  • C#通过虚方法实现方法重写—多态。

    class Program
        {
            //希望person存的是哪个类的对象就调用哪个类的方法
            //第一步  将父类中对应方法家virtual关键字  变为虚方法(子类可重写)
            //子类中方法用override关键字将父类虚方法重写
            static void Main(string[] args)
            {
                Person[] person = new Person[3];
                person[0] = new American();
                person[1] = new Japan();
                person[2] = new Chinese();
                for (int i = 0; i < person.Length; i++)
                {
                    //由于person是Person类的,如果我想让每个人说出他的国籍
                    //只能判断类型然后强制转换:
                    //if (person[0]is American)
                    //{
                    //    ((American)person[0]).Say();
                    //}
                    //希望person存的是哪个类的对象就调用哪个类的方法
                    //第一步  将父类中对应方法家virtual关键字  变为虚方法(子类可重写)
                    //子类中方法用override关键字将父类虚方法重写
                    person[i].Say(); //这句话就体现了多态
    
                }
    
            }
        }
    
        public class Person
        {
            public string Name { get; set; }
            public int Age { get; set; }
            public virtual void Say()
            {
                Console.Write("Person");
            }
        }
        public class American:Person
        {
            public override void Say()
            {
                Console.WriteLine("美国人");
            }
        }
        public class Japan:Person
        {
            public override void Say()
            {
                Console.WriteLine("日本人");
            }
        }
        public class Chinese : Person
        {
            public override void Say()
            {
                Console.WriteLine("中国人");
            }
        }

    实例中,可以通过person中的不同类型的对象来实现不同的方法。

  • 相关阅读:
    哈希表-环形链表
    双链表
    文本框值是否为空,有就隐藏提示语,反之显示
    常用正则
    jquery遍历赋值
    动态更改地址栏参数
    截取地址栏参数
    java.lang.NoSuchMethodException
    文字超出范围隐藏,改变隐藏“...”颜色
    网页设定定时自动跳转
  • 原文地址:https://www.cnblogs.com/zhangyuhao/p/10432464.html
Copyright © 2011-2022 走看看