1.假设系统用户有财务人员与客户人员两种,且每个系统用户都可以查询单据,但财务人员与客户人员之间的查询并不相同,请以系统用户为基类,财务人员与客服人员为派生类,用C#语言展示如何使用多态性来处理查询单据
using System;
class User //定义系统用户类
{
   protected int OrderID;//单据ID
   public User(int iOrderID){
      OrderID = iOrderID;
   }  
   public Query(){
Console.WriteLine("查询结果:"+OrderID)};
}class FinUser:User //定义财务人员类
{
   public FinUser(int iOrderID,int iUserType):base(int iOrderID)
   base.Query();
}
class CusUser:User //定义客服人员类
{
   int UserType; //用户类型
   public FinUser(int iOrderID,int iUserType):base(int iOrderID)
   base.Query();
}

解决方案 »

  1.   

    using System;
    class User //定义系统用户类
    {
       protected int OrderID;//单据ID
       public User(int iOrderID){
          OrderID = iOrderID;
       }  
       public virtual void  Query(){//基类中应该是虚方法
    Console.WriteLine("基类查询结果:"+OrderID)};
    }class FinUser:User //定义财务人员类
    {
       public override void Query()//子类中重写基类的方法
        {
           Console.WriteLine("财务人员查询结果:"+OrderID)};
        }
    }
    class CusUser:User //定义客户人员类
    {
       int UserType; //用户类型
       public override void Query()//子类中重写基类的方法
        {
           Console.WriteLine("客户人员查询结果:"+OrderID)};
        }
    }