C#学习——3.虚方法实现多态

坚强是说给别人听的谎言 提交于 2020-03-03 06:57:20
1.虚方法实现多态

在类中某个方法前面加上virtual关键字进行修饰,则表示该方法可以在其派生类中进行重写,当然也可以不重写。因此,可以通过在不同派生类中加override关键字进行重写的方式实现多态的效果。

2.示例代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _5.多态
{
    class Program
    {
        static void Main(string[] args)
        {
            Person[] pers = new Person[5];
            pers[0] = new Chinese();
            pers[1] = new American();
            pers[2] = new Japanese();
            pers[3] = new Chinese();
            pers[4] = new American();

            foreach (Person item in pers)
            {
                item.SayNationality();
            }
            Console.ReadKey();
        }

        class Person
        {
            public virtual void SayNationality()
            {
                Console.WriteLine("国籍不知道");
            }
        }

        class Chinese : Person
        {
            public override void SayNationality()
            {
                Console.WriteLine("中国人");
            }
        }

        class American : Person
        {
            public override void SayNationality()
            {
                Console.WriteLine("美国人");
            }
        }

        class Japanese : Person
        {
            //public override void SayNationality()
            //{
            //    Console.WriteLine("日本人");
            //}
        }
    }
}

3.运行结果
中国人
美国人
国籍不知道
中国人
美国人
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!