基类和派生类的一个题目,我是不是做错了???
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();
}
------解决方案--------------------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)};
}
}