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.运行结果
中国人
美国人
国籍不知道
中国人
美国人
欢迎关注我的公众号。