一 :实现多态的条件
1 继承
2 子类override 父类的 abstract 函数
3 子类对象赋值给父类
二 : 显示效果
三 : 代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace CsharpConsoleApplication
{
class Program
{
static void Main(string[] args)
{
Dictionary<string , BaseAction> dic = new Dictionary<string,BaseAction>();
dic.Add("GetPatientInfo" , new GetPatientInfo());
dic.Add("GetDeptmentInfo" , new GetDeptmentInfo());
dic["GetPatientInfo"].process("获取病人信息");
dic["GetDeptmentInfo"].process("获取科室信息");
System.Console.ReadLine();
}
abstract class BaseAction //抽象类,抽象类不能实例化
{
public abstract void process(string ActionCode); //抽象函数 不能有实现 并且这个类必须是抽象类
}
//获取病人信息类
class GetPatientInfo :BaseAction //继承父类
{
public override void process(string ActionCode)
{
System.Console.WriteLine(ActionCode + " : GetPatientInfo类的process函数");
}
}
//获取科室信息类
class GetDeptmentInfo : BaseAction
{
public override void process(string ActionCode)
{
System.Console.WriteLine(ActionCode + " : GetDeptmentInfo类的process函数");
}
}
}
}